jQWidgets Forums

jQuery UI Widgets Forums Grid Grid column now showing null

This topic contains 1 reply, has 2 voices, and was last updated by  Peter Stoev 11 years, 11 months ago.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
  • Grid column now showing null #27578

    I just upgraded to the latest version of jqwidgets, and one of my grids now shows “null” as the column value in a dropdownlist column if a value has not been selected. Previously, the column showed nothing, which is the desired behavior. How do I reestablish this behavior?? Partial code is posted below–the definition of the column in question.

    Thanks.

    { text: ‘Examiner 1’, datafield: ‘FirstExaminerID’ ,displayfield: ‘FirstExaminerFullName’, width:150,editable: true,columntype: ‘dropdownlist’,cellsrenderer :cellsrenderer,
    validation: function(cell, value){
    var rowid=cell.row;
    var row = $(‘#examgrid’).jqxGrid(‘getrowdata’,rowid);
    if (value.value==row.Examiner2Id || value.value==row.Examiner3Id)
    {return {result: false, message: “That examiner is already assigned to this exam.”};}
    else
    {return true};
    },
    createeditor: function (row, value, editor) {
    editor.jqxDropDownList({ source: dAdapter, displayMember: ‘Name’, valueMember: ‘Id’ });
    }},

    Grid column now showing null #27580

    Peter Stoev
    Keymaster

    Hi Consulting programmer,

    We cannot reproduce such behavior. Here’s a sample with custom DropDownLists

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <title id='Description'>This example shows how to customize the Grid editors.</title>
    <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
    <script type="text/javascript" src="../../scripts/jquery-1.10.2.min.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxbuttons.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxscrollbar.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxmenu.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxgrid.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxgrid.selection.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxgrid.pager.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxlistbox.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxgrid.edit.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxdropdownlist.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxcombobox.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxpanel.js"></script>
    <script type="text/javascript" src="../../scripts/gettheme.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
    var theme = getDemoTheme();
    // prepare the data
    var ordersSource =
    {
    datatype: "xml",
    datafields: [
    { name: 'ShippedDate', map: 'm\\:properties>d\\:ShippedDate', type: 'date' },
    { name: 'Freight', map: 'm\\:properties>d\\:Freight', type: 'float' },
    { name: 'ShipName', map: 'm\\:properties>d\\:ShipName', type: 'string' },
    { name: 'ShipAddress', map: 'm\\:properties>d\\:ShipAddress', type: 'string' },
    { name: 'ShipCity', map: 'm\\:properties>d\\:ShipCity', type: 'string' },
    { name: 'ShipCountry', map: 'm\\:properties>d\\:ShipCountry', type: 'string' }
    ],
    root: "entry",
    record: "content",
    id: 'm\\:properties>d\\:OrderID',
    url: "../sampledata/orders.xml",
    pager: function (pagenum, pagesize, oldpagenum) {
    // callback called when a page or page size is changed.
    },
    updaterow: function (rowid, rowdata, result) {
    // synchronize with the server - send update command
    // call result with parameter true if the synchronization with the server is successful
    // and with parameter false if the synchronization failder.
    result(true);
    }
    };
    var ordersAdapter = new $.jqx.dataAdapter(ordersSource);
    $("#jqxgrid").jqxGrid(
    {
    width: 670,
    source: ordersAdapter,
    theme: theme,
    selectionmode: 'singlecell',
    editable: true,
    pageable: true,
    autoheight: true,
    columns: [
    {
    text: 'Ship City', datafield: 'ShipCity', width: 150, columntype: 'combobox',
    createeditor: function (row, column, editor) {
    // assign a new data source to the combobox.
    var list = ['Stuttgart', 'Rio de Janeiro', 'Strasbourg'];
    editor.jqxComboBox({ autoDropDownHeight: true, source: list, promptText: "Please Choose:" });
    },
    // update the editor's value before saving it.
    cellvaluechanging: function (row, column, columntype, oldvalue, newvalue) {
    // return the old value, if the new value is empty.
    if (newvalue == "") return oldvalue;
    }
    },
    {
    text: 'Ship Country', datafield: 'ShipCountry', width: 150, columntype: 'dropdownlist',
    createeditor: function (row, column, editor) {
    // assign a new data source to the dropdownlist.
    var list = ['Germany', 'Brazil', 'France'];
    editor.jqxDropDownList({ autoDropDownHeight: true, source: list });
    },
    // update the editor's value before saving it.
    cellvaluechanging: function (row, column, columntype, oldvalue, newvalue) {
    // return the old value, if the new value is empty.
    if (newvalue == "") return oldvalue;
    }
    },
    { text: 'Ship Name', datafield: 'ShipName', columntype: 'combobox' }
    ]
    });
    });
    </script>
    </head>
    <body class='default'>
    <div id='jqxWidget' style="font-size: 13px; font-family: Verdana; float: left;">
    <div id="jqxgrid">
    </div>
    </div>
    </body>
    </html>

    Best Regards,
    Peter Stoev

    jQWidgets Team
    http://www.jqwidgets.com/

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

You must be logged in to reply to this topic.