POST
Command parameters:
GET
Command parameters:
connector=true - flag of connector based request
dhx_colls=field1,field2...fieldN - optional, can contain a list of fields for which collections will be requested. dhtmlxGrid uses such parameters to request data for combo columns and select filter (such requests are executed just once, for initial data loading)
some.cfm?connector=true&dhx_colls=2,3
some.cfm?connector=true&dhx_sort[2]=asc
<!---//filter by %test%--->
some.cfm?connector=true&dhx_filter[2]=test
Requesting part of data (Dynamic Smart Rendering or Dynamic Paging)
GET
Requesting part of data
GET
Filter by label field
GET
Requesting a branch of tree
GET
GET
POST
When should you use it?
The existing version of connectors supports a limited set of server platforms. In case database/framework/scripting language you'd like to use is not supported, you can port existing solution on your platform.
When shouldn't you use it?
Connectors are just wrappers for existing grid functionality, that's why if you need to use this solution once, you'd better use the grid API directly, instead of creating your own server connector.
The connector supports many operations implementing data processing. There is an opportunity to provide supporting basic operations and ignore higher-level ones, in case they are not used in your project.
Data assignment is a basic connector operation which proceeds in the following way: connector connects to database, selects data and outputs it in stdout using XML format of the current component.
Key points:
<cfcontent type="text/xml;charset=UTF-8" reset="yes">
<cfoutput><?xml version='1.0' encoding='utf-8' ?>#xml_formatted_data#</cfoutput>
<cfabort>
Basic implementation allows using the resulting script as the input parameter for the load() method.
Technically, there is an opportunity to use JSON or any other format supported by the component, but you should bear in mind that complex scenarios are XML-oriented and you'd better use XML
At this stage, the number of supported operations is considerably extended: you are allowed to use #connector_text_filter, sorting type 'connector' and filter/sort data through URL manipulations.
Key points:
GET
Command parameters:
dhx_filter - a hash of filtering rules
// where field1 like %some% AND field2 like %other%
dhx_filter[1]=some&dhx_filter[2]=other
dhx_sort - a hash of sorting rules
// order by field1 ASC, field2 DESC
dhx_sort[1]=asc&dhx_filter[2]=dsc
Hashes of rules in question use the name of fields (where filtering is enabled) or columns' indices (in case of grid).
Restriction for output data: order and structure are defined through filtering/sorting parameters.
Combo specific:
dhtmlxCombo has an additional filtering GET parameter:
some.do?mask=abc
After data output implementation goes dynamic loading. Dynamic loading has some particular features while working with hierarchical (tree/treegrid) and simple (grid/combo) components.
For hierarchical components, loading of data branch occurs at once.
some.cfm?id=123
Command parameters:
For other components data will be output according to incoming parameters.
//grid
some.cfm?posStart=20&count=50
//combo
some.cfm?pos=50
Command parameters:
Grid:
Combo:
While working with grid, the initial request (grid doesn't know yet how many strings are expected) doesn't contain any additional parameters ( 'posStart' and 'count' are not defined)
Back to top