jQWidgets Forums

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts

  • Storm
    Participant

    Dear Dimitar,

    This is my source code,

        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxcore.js"></script>
    	<script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxdata.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxbuttons.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxscrollbar.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxlistbox.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxdropdownlist.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxmenu.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.filter.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.sort.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.selection.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.edit.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxpanel.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxcalendar.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxdatetimeinput.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxdata.export.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.export.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.aggregates.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxcheckbox.js"></script>
        <script type="text/javascript" src="/aceadmin/jqw/jqwidgets/globalization/globalize.js"></script>
    	<script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.pager.js"></script>	
    	<script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.columnsreorder.js"></script>
    	<script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxgrid.columnsresize.js"></script>
    	<script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxtabs.js"></script>
    	<script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxwindow.js"></script>
    	<script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxnumberinput.js"></script>
    	<script type="text/javascript" src="/aceadmin/jqw/jqwidgets/jqxinput.js"></script>
    	<script type="text/javascript">
            $(document).ready(function () {
            	$.jqx.theme = 'base';        
            	
             	var entityNameDropDown =  'AcctgTransType';
             	var dropDownSortColumn =  'description';
    			
    	 		var arrEntityNameDropDown = entityNameDropDown.split(";");
    	 		var arrDropDownSortColumn = dropDownSortColumn.split(";");
    	
         		var dropDownSource =
                {	       
                	 dataType: 'json',        
                     dataFields: [
                         { name: 'acctgTransTypeId', type: 'string' },
             	   		 { name: 'description', type: 'string' }	                     
                     ],
                    id: 'dropId1',		               
                    type : 'POST',
                    data : {
                    	noConditionFind: 'Y',
    					entityName: arrEntityNameDropDown[0],						
             			sortdatafield: arrDropDownSortColumn[0],
                		sortorder: 'asc',
                		selectFields: 'acctgTransTypeId;description'		                	
                    },
                    contentType: 'application/x-www-form-urlencoded',	                
                	url: '/control/listDropDownJQ',
                	async: false            		                	
                };	 		             
                var dropDownAdapter = new $.jqx.dataAdapter(dropDownSource, {
                    autoBind: true                			         
                });
                                    
                 	   
                var gridSource  =
                {
                    dataType: 'json',
                    dataFields: [           
    					{ name: 'test', value: 'acctgTransTypeId', values: { source: dropDownAdapter.records, value: 'acctgTransTypeId', name: 'description' } },                                                                                                                   
                        { name: 'acctgTransTypeId', type: 'string'}                                                                                                 		 		 
                    ],
                    id: 'paymentId',
                    type: 'POST',
                    data: {
    			        noConditionFind: 'N',
    			        conditionsFind: '|TEST|invoiceId|ESTT|8002|ESTT|EQUAL|ESTT|0',
    			    },
                    contentType: 'application/x-www-form-urlencoded',
                    url: '/control/listGlTestJQ',
                    beforeprocessing: function (data) {
                        gridSource.totalrecords = data.TotalRows;
                    },
                    filter: function () {
                        // update the grid and send a request to the server.
                        $("#jqxgridAtat").jqxGrid('updatebounddata');
                    },
                    sort: function () {
                        // update the grid and send a request to the server.
                        $("#jqxgridAtat").jqxGrid('updatebounddata');
                    },
                    sortcolumn: 'acctgTransEntrySeqId',
                    sortdirection: 'asc',
                    pagenum: 0,
                    pagesize: 20,
                    entityName: 'AcctgTransAndEntries',
                    pager: function (pagenum, pagesize, oldpagenum) {
                        // callback called when a page or page size is changed.
                    },                            						
                    root: 'results'
                };                                                         
                 
                 var dataadapter = new $.jqx.dataAdapter(gridSource, 
                 {
                 	formatData: function (data) 
                 	{
    					    	if (data.filterscount) 
    					    	{
    	                            var filterListFields = "";
    	                            console.log(data.filterscount);
    	                            for (var i = 0; i < data.filterscount; i++) 
    	                            {
    	                                var filterValue = data["filtervalue" + i];
    	                                var filterCondition = data["filtercondition" + i];
    	                                var filterDataField = data["filterdatafield" + i];
    	                                var filterOperator = data["filteroperator" + i];
    	                                
    	                                
    	                                console.log("filtercondition" + i);
    	                                console.log(filterDataField);
    	                                console.log(filterValue);
    	                                console.log(filterCondition);
    	                                console.log(filterOperator);
    	                                filterListFields += "|TEST|" + filterDataField;
    	                                filterListFields += "|ESTT|" + filterValue;
    	                                filterListFields += "|ESTT|" + filterCondition;
    	                                filterListFields += "|ESTT|" + filterOperator;
    	                            }
    	                            data.filterListFields = filterListFields;
    	                        }
    		                        // update the $skip and $top params of the OData service.
    		                        // data.pagenum - page number starting from 0.
    		                        // data.pagesize - page size
    		                         data.$skip = data.pagenum * data.pagesize;
    		                         data.$top = data.pagesize;
    		                         data.$inlinecount = "allpages";
                            data.entityName = 'AcctgTransAndEntries';
                            return data;
                        },
                    loadError: function (xhr, status, error) {
                        alert(error);
                    },
                    downloadComplete: function (data, status, xhr) {
                            if (!gridSource.totalRecords) {
                                gridSource.totalRecords = parseInt(data["odata.count"]);
                            }
                    }, 
                    beforeLoadComplete: function (records) {
                    	for (var i = 0; i < records.length; i++) {
                    		if(typeof(records[i])=="object"){
                    			for(var key in records[i]) {
                    				var value = records[i][key];
                    				if(value != null && typeof(value) == "object" && typeof(value) != null){
                    					var date = new Date(records[i][key]["time"]);
                    					records[i][key] = date;
                    				}
                    				
                    			}
                    		}
                    	}
                    }
                });
                
                //var editrow = -1;
                $("#jqxgridAtat").jqxGrid(
                {      
                    source: dataadapter,
                    filterable: true,
                    autoshowfiltericon: true,
                    editable: true,                
                    	selectionmode: 'singlecell',
    
                 
                    autoheight: true,
                    pageable: true,
                    columnsresize: true,
                    columnsreorder: true,
                    sortable: true,
                    virtualmode: true,
                    rendergridrows: function () {
                        return dataadapter.records;
                    },
                    columns: [
    							{ text: 'Acctg Trans Type Id', datafield:'acctgTransTypeId', displayfield: 'test', 
                           		columntype: 'dropdownlist',
                        		createeditor: function (row, value, editor) 
                                            {
                                                editor.jqxDropDownList({ source: dropDownAdapter, displayMember: 'description', valueMember: 'acctgTransTypeId' });
                                            }
                                         }                        
    
                    ]
                });              			                                                                          
            });
        </script>
    	<div id="jqxgridAtat">
        </div>

    Thank you for support!


    Storm
    Participant

    Thank Dimitar,

    I run an example using Custom DropDownList Column: http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/index.htm#demos/jqxgrid/gridkeyvaluescolumnwitharray.htm and a data source for the editor in the column but same error occurs.

    I need map the record’s “ID” from gridAdapter matches to the “Name” from dropDownListAdapter.

    How to fix it ? ( Virtualmode = true )

    Thank!


    Storm
    Participant

    Dear Peter Stoev,

    How to fix it ?

    Thank you very much 🙂

Viewing 3 posts - 1 through 3 (of 3 total)