jQWidgets Forums

jQuery UI Widgets Forums Grid closing numberinput editor in grid

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

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
  • closing numberinput editor in grid #32274

    mallepaddi
    Participant

    Hi

    I was using .. selectionmode: ‘checkbox’,

    Grid has columns : checkbox, name, price, quantity

    Out of those, “checkbox” and “quantity” can be edited, rest are readonly cells.

    My questions was : “numberinputeditor” can only be closing automatically when user clicks out of grid / on another quantity field or checkbox, click on any other remains fields doesn;t make editor gets closed,

    hint : please don;t expect to hit enter everytime they open editor.

    how do we close editor when user clicks out side of editor or any on any where with in grid ?

    Thanks

    Thanks

    closing numberinput editor in grid #32376

    Dimitar
    Participant

    Hello mallepaddi,

    Here is an example:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <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/jqxcheckbox.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxlistbox.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxdropdownlist.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxgrid.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxgrid.edit.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxgrid.selection.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxnumberinput.js"></script>
    <script type="text/javascript" src="../../scripts/gettheme.js"></script>
    <script type="text/javascript" src="generatedata.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
    var theme = "";
    // prepare the data
    var data = generatedata(200, true);
    var source =
    {
    localdata: data,
    datafields:
    [
    { name: 'firstname', type: 'string' },
    { name: 'lastname', type: 'string' },
    { name: 'productname', type: 'string' },
    { name: 'available', type: 'bool' },
    { name: 'quantity', type: 'number' },
    { name: 'price', type: 'number' },
    { name: 'total', type: 'number' }
    ],
    datatype: "array"
    };
    var dataAdapter = new $.jqx.dataAdapter(source);
    // initialize jqxGrid
    $("#jqxgrid").jqxGrid(
    {
    width: 670,
    source: dataAdapter,
    editable: true,
    theme: theme,
    editmode: 'dblclick',
    columns: [
    { text: 'First Name', editable: false, datafield: 'firstname', width: 100 },
    { text: 'Last Name', editable: false, datafield: 'lastname', width: 100 },
    { text: 'Product', editable: false, datafield: 'productname', width: 180 },
    { text: 'Available', datafield: 'available', threestatecheckbox: true, columntype: 'checkbox', width: 70 },
    { text: 'Quantity', editable: true, datafield: 'quantity', columntype: "numberinput", width: 80, cellsalign: 'right' },
    { text: 'Unit Price', editable: false, datafield: 'price', width: 90, cellsalign: 'right', cellsformat: 'c2' },
    { text: 'Total', editable: false, datafield: 'total', width: 100, cellsalign: 'right', cellsformat: 'c2' }
    ]
    });
    var editedCell;
    $("#jqxgrid").on('cellbeginedit', function (event) {
    var column = args.datafield;
    var row = args.rowindex;
    if (column == "quantity") {
    editedCell = row;
    } else {
    editedCell = null;
    };
    });
    $("#jqxgrid").on("cellclick", function (event) {
    var datafield = event.args.datafield;
    var rowindex = event.args.rowindex;
    if (editedCell && (datafield == "available" || (datafield == "quantity" && rowindex != editedCell))) {
    $("#jqxgrid").jqxGrid('endcelledit', editedCell, "quantity", false);
    };
    });
    });
    </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,
    Dimitar

    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.