Hi,
Im currently evaluating scheduling software and I am having an issue with this software.
My issue is that the ‘text’ field will not show in the scheduler as specified by the Setup instructions. I am using an oracle database. I have setup the designated start_date,end_date,text columns. The scheduler is recognising the Start/End dates, but not the text column.
I impletement my own scheduler.templates.event_text function so I could debug the data being returned. It appears that it sets ev.TEXT to a value but not ev.text to a value. Looking at the code its looking for ev.text. ev.start_date and ev.end_date are set correctly as expected. I’m not sure why ev.text is not being set correctly.
My connector code is below.
[code]
Imports System.Web
Imports System.Web.Services
Public Class eventsConnector
Inherits dhtmlxConnectors.dhtmlxRequestHandler
Implements IReadOnlySessionState
Public Overrides Function CreateConnector(ByVal context As HttpContext) As dhtmlxConnectors.IdhtmlxConnector
Dim connector As dhtmlxConnectors.dhtmlxSchedulerConnector = New dhtmlxConnectors.dhtmlxSchedulerConnector("EVENT", "ID", dhtmlxConnectors.dhtmlxDatabaseAdapterType.Oracle, ConfigurationManager.ConnectionStrings("COEVENTSConnectionString").ConnectionString, "START_DATE", "END_DATE", "TEXT")
Dim optionsConnector As dhtmlxConnectors.dhtmlxOptionsConnector = New dhtmlxConnectors.dhtmlxOptionsConnector("SECTION", "ID", connector.Request.Adapter, "NAME")
connector.AddOptionsConnector("SECTION", optionsConnector)
connector.Request.CustomSQLs.Add(dhtmlxConnectors.CustomSQLType.Update, "CALL COEVENTS_CUSTOM.EVENT_UPD({ID},{TEXT},'42423-432423-3424234-23423')")
'connector.Request.CustomSQLs.Add(dhtmlxConnectors.CustomSQLType.Update, "CALL COEVENTS_CUSTOM.EVENT_UPD({ID},{TEXT}," + context.Session("Token").ToString + ")")
connector.Request.CustomSQLs.Add(dhtmlxConnectors.CustomSQLType.Delete, "EXECUTE COEVENTS_CUSTOM.EVENT_UPD({ID})")
AddHandler connector.OnDBError, AddressOf error_details
AddHandler connector.Begin, AddressOf connector_Begin
AddHandler connector.End, AddressOf connector_End
Return connector
End Function
Public Sub error_details(ByVal sender As Object, ByVal args As dhtmlxConnectors.DataActionProcessingEventArgs)
args.DataAction.Details = "DB operation was failed"
End Sub
Public Sub connector_End(ByVal sender As Object, ByVal args As EventArgs)
dhtmlxConnectors.Log.Enabled = False
End Sub
Public Sub connector_Begin(ByVal sender As Object, ByVal args As EventArgs)
dhtmlxConnectors.Log.Enabled = True
' dhtmlxConnectors.Log.Listeners.Add(New TextWriterTraceListener(New IO.StringWriter(._LogContent)))
End Sub[/code]
Here is the debug on the select - note TEXT is currently set to the value ‘test’ and is not being displayed on the scheduler.
3:48:52 PM DataRequest: Processing client request. QueryString: timeshift=-660, Form:
3:48:52 PM DataRequest: Resolving type of request.
3:48:52 PM DataRequest: Processing client select.
3:48:52 PM dhtmlxSchedulerConnector: Rendering response
3:48:52 PM DataRequest: Enterering Render method.
3:48:52 PM DataRequest: Calling BeforeSelect event
3:48:52 PM DataRequest: Selecting data.
3:48:52 PM OracleAdapter: Entering: ExecuteSelectQuery
3:48:52 PM OracleAdapter: Creating SelectQuery from TableName: EVENT, Fields: ID, TEXT, START_DATE, END_DATE, Rules: , OrderBy: , StartIndex: 0, Count: 0
3:48:52 PM OracleAdapter: Select query: SELECT ID, TEXT, START_DATE, END_DATE FROM (SELECT dhx_table.*, ROWNUM rnum FROM ( SELECT ID, TEXT, START_DATE, END_DATE FROM EVENT ) dhx_table )
3:48:52 PM OracleAdapter: Exiting: ExecuteSelectQuery
3:48:52 PM DataRequest: Selecting items count.
3:48:52 PM OracleAdapter: ExecuteGetCountQuery: TableName: EVENT, RequesteFields: 1 as dummyValue, Rules:
3:48:52 PM OracleAdapter: Creating SelectQuery from TableName: EVENT, Fields: 1 as dummyValue, Rules: , OrderBy: null, StartIndex: 0, Count: 0
3:48:52 PM OracleAdapter: Select query: SELECT dummyValue FROM (SELECT dhx_table.*, ROWNUM rnum FROM ( SELECT 1 as dummyValue FROM EVENT ) dhx_table )
3:48:52 PM OracleAdapter: Result: 1
3:48:52 PM DataRequest: Calling AfterSelect event
3:48:52 PM dhtmlxSchedulerConnector: Rendering 'Select' result
3:48:52 PM dhtmlxSchedulerConnector: Rendering children
3:48:52 PM dhtmlxSchedulerConnector: Converting DataRow object to connector specific data items
3:48:52 PM dhtmlxSchedulerConnector: Closing response
3:48:52 PM dhtmlxSchedulerConnector: Adding combo-options into response
3:48:52 PM DataRequest: Enterering Render method.
3:48:52 PM DataRequest: Calling BeforeSelect event
3:48:52 PM DataRequest: Selecting data.
3:48:52 PM DataRequest: PrimaeyKeyField (ID) is not included into RequestedFields collection. Adding...
3:48:52 PM OracleAdapter: Entering: ExecuteSelectQuery
3:48:52 PM OracleAdapter: Creating SelectQuery from TableName: SECTION, Fields: NAME, ID, Rules: , OrderBy: , StartIndex: 0, Count: 0
3:48:52 PM OracleAdapter: Select query: SELECT NAME, ID FROM (SELECT dhx_table.*, ROWNUM rnum FROM ( SELECT NAME, ID FROM SECTION ) dhx_table )
3:48:52 PM OracleAdapter: Exiting: ExecuteSelectQuery
3:48:52 PM DataRequest: Selecting items count.
3:48:52 PM OracleAdapter: ExecuteGetCountQuery: TableName: SECTION, RequesteFields: 1 as dummyValue, Rules:
3:48:52 PM OracleAdapter: Creating SelectQuery from TableName: SECTION, Fields: 1 as dummyValue, Rules: , OrderBy: null, StartIndex: 0, Count: 0
3:48:52 PM OracleAdapter: Select query: SELECT dummyValue FROM (SELECT dhx_table.*, ROWNUM rnum FROM ( SELECT 1 as dummyValue FROM SECTION ) dhx_table )
3:48:52 PM OracleAdapter: Result: 2
3:48:52 PM dhtmlxOptionsConnector: Rendering 'Select' result
3:48:52 PM dhtmlxOptionsConnector: Rendering children
3:48:52 PM dhtmlxOptionsConnector: Converting DataRow object to connector specific data items
3:48:52 PM dhtmlxOptionsConnector: Converting DataRow object to connector specific data items
3:48:52 PM dhtmlxOptionsConnector: Closing response
3:48:52 PM dhtmlxSchedulerConnector: Calling End event
The thread '<No Name>' (0x2674) has exited with code 0 (0x0).
The thread '<No Name>' (0x20f8) has exited with code 0 (0x0).
Here is the debug for the edit/insert. I have entered the value ‘ok’ into the edit box, but it stores ‘test,ok’ into the database.
3:51:43 PM DataRequest: Processing client request. QueryString: editing=true, Form: 2_id=2&2_start_date=2012-11-05+13%3a00&2_end_date=2012-11-05+18%3a00&2_TEXT=test&2_TEXT=ok&2_!nativeeditor_status=updated&ids=2
3:51:43 PM DataRequest: Resolving type of request.
3:51:43 PM DataRequest: Parsing data actions.
3:51:43 PM DataRequest: Now parsing data action for record with id=2.
3:51:43 PM DataRequest: Extracting new column values for rowID=2
3:51:43 PM dhtmlxSchedulerConnector: Encoding query field: id
3:51:43 PM dhtmlxSchedulerConnector: Encoding query field: start_date
3:51:43 PM dhtmlxSchedulerConnector: Encoding query field: end_date
3:51:43 PM dhtmlxSchedulerConnector: Encoding query field: TEXT
3:51:43 PM DataRequest: Extracted values are: [START_DATE = 2012-11-05 13:00,END_DATE = 2012-11-05 18:00,TEXT = test,ok]
3:51:43 PM DataRequest: Extracting UserData for rowID=2
3:51:43 PM dhtmlxSchedulerConnector: Encoding query field: id
3:51:43 PM dhtmlxSchedulerConnector: Encoding query field: start_date
3:51:43 PM dhtmlxSchedulerConnector: Encoding query field: end_date
3:51:43 PM dhtmlxSchedulerConnector: Encoding query field: TEXT
3:51:43 PM DataRequest: Extracted UserData is: []
3:51:43 PM DataRequest: Parsed new action: Action: type=updated,sid: 2,tid: 2, Details:
3:51:43 PM DataRequest: Calling BeforeDataActionProcessing event(Action = [Action: type=updated,sid: 2,tid: 2, Details: ]
3:51:43 PM DataRequest: Processing data action (Action = [Action: type=updated,sid: 2,tid: 2, Details: ]
3:51:43 PM DataRequest: Calling BeforeUpdate event(Action = [Action: type=updated,sid: 2,tid: 2, Details: ]
3:51:43 PM DataRequest: Executing update action.
3:51:43 PM DataRequest: Parsing custom sql: CALL COEVENTS_CUSTOM.EVENT_UPD({ID},{TEXT},'42423-432423-3424234-23423')
3:51:43 PM DataRequest: Current values are: [START_DATE = 2012-11-05 13:00,END_DATE = 2012-11-05 18:00,TEXT = test,ok]
3:51:43 PM DataRequest: Parsed custom sql: CALL COEVENTS_CUSTOM.EVENT_UPD(2,'test,ok','42423-432423-3424234-23423')
3:51:43 PM DataRequest: Calling Updated event. Action =[Action: type=updated,sid: 2,tid: 2, Details: ]
3:51:43 PM DataRequest: Calling DataActionProcessed event. Action=[Action: type=updated,sid: 2,tid: 2, Details: ]
3:51:43 PM dhtmlxSchedulerConnector: Rendering response
3:51:43 PM DataRequest: Enterering Render method.
3:51:43 PM dhtmlxSchedulerConnector: Rendering data actions: [Action: type=updated,sid: 2,tid: 2, Details: ]
3:51:43 PM dhtmlxSchedulerConnector: Calling End event
The thread '<No Name>' (0x1068) has exited with code 0 (0x0).
The thread '<No Name>' (0x1ac4) has exited with code 0 (0x0).
I have tried changing the case of the statement but it makes no difference. I have also tried global replace on ev.text -> ev.TEXT which fixed the display in the scheduler but still caused a write/update issue where the result stored in oracle would be the text in the edit box with ‘,undefined’ appended.
Has anyone got any suggestions to acheive the expected behaviour?