0

私はjqgridで始めます。ページにjqgridとボタンが1つあります。ユーザーが行の例row1、row2、row3、...を編集し、ボタンをクリックすると、データrow1、2、3がサーバーに送信されます。ただし、ユーザーが行を編集するときのjqGridはデータをサーバーに送信します。私の問題の解決策を教えてください。皆さんありがとう

私はこのコードを書きます

  var mydata = [
{ id: "1", REQUEST_ID: "2007-10-01", WAYBILL_NO: "test", COST_ID: "note", COST_NAME: "200.00", COST_AMOUNT: "10.00", Subcategory: "1" },
{ id: "2", REQUEST_ID: "2007-10-02", WAYBILL_NO: "test2", COST_ID: "note2", COST_NAME: "300.00", COST_AMOUNT: "20.00", Subcategory: "2" },
{ id: "3", REQUEST_ID: "2007-09-01", WAYBILL_NO: "test3", COST_ID: "note3", COST_NAME: "400.00", COST_AMOUNT: "30.00", Subcategory: "1" },
{ id: "12", REQUEST_ID: "2007-09-10", WAYBILL_NO: "test11", COST_ID: "note12", COST_NAME: "500.00", COST_AMOUNT: "30.00", Subcategory: "1" }
];



            var localstr = "0:Select Ones;";
            localstr += "1:Dollar";
            localstr += ";2:Pond";
            localstr += ";3:Youro";
            localstr += ";4:Derham";

            var lastSel;
            var grid = jQuery("#list");
            grid.jqGrid({

                datatype: "local",
                data: mydata,
                ajaxGridOptions: { cache: false },
                loadonce: true,
                direction: "rtl",


                height: 'auto',
                colNames: ['RequestID', 'WayBillNo', 'CostId', 'CostName', 'Amount', 'CurrencyUnit '],
                colModel: [
                    { name: 'REQUEST_ID', width: 100, sortable: true, hidden: true },
                        { name: 'WAYBILL_NO', width: 100, sortable: true, hidden: true },
                        { name: 'COST_ID', index: 'COST_ID', width: 200, sortable: true, hidden: true },
                        { name: 'COST_NAME', width: 200, sortable: true },
                        { name: 'COST_AMOUNT', width: 100, sortable: true, editable: true },
                      { name: 'Subcategory', index: 'Subcategory', width: 200, formatter: 'select', editable: true, edittype: 'select', editoptions: { value: localstr} }
                ],
                sortname: 'Name',
                viewrecords: true,
                rownumbers: true,
                sortorder: "desc",
                editurl: 'clientArray',
                onSelectRow: function (id) {

                    if (id && id !== lastSel) {

                        grid.saveRow(lastSel, true, 'clientArray'); 

                        grid.jqGrid('restoreRow', lastSel);
                        grid.jqGrid('editRow', id, true, null, null, 'clientArray');
                        lastSel = id;

                    }


                },

                pager: '#pager',
                caption: ""
            }).jqGrid('navGrid', '#pager', { edit: true, add: true, del: false, search: false, refresh: false });

しかし、clientArray とは何ですか? また、データ ino clientArray を使用してサーバーに送信するにはどうすればよいですか?? 助けてくれてありがとう。

4

1 に答える 1

0

すべてのデータ変更をグリッドに保存した後、ユーザーがこのボタンをクリックしてボタンを作成し、すべてのデータがサーバーに送信されます

コードをこれに変更します

onSelectRow: function (id) {
                    if (id && id !== lastSel) {
                        grid.jqGrid('restoreRow', lastSel);
                        grid.saveRow(lastSel,true,'clientArray');
                        grid.jqGrid('restoreRow',lastSel);

                        grid.jqGrid('editRow', id, true, null, null, 'clientArray');

                    }
                },

およびグリッドからの読み取りデータ用

$("#btnSave").click(function(){
    var row=$("#list").jqGrid('getRowData',1);
alert(row.cost_id)
});
于 2012-09-03T15:25:46.260 に答える