0

ユーザーの選択に基づいて、ローカル オブジェクト コレクションを作成します。動的配列は jqGrid にロードする必要があります。配列を動的に作成した後、リロードしようとしましたが、何も起こりません。ここにコードがあります -

$(document).ready(function () {

         var arrobj = [];           

         var JSONString = []; //[{"DOId":"0","DONo":"Please select","DealerCode":"0","Week":"0","Item":"0","Qty":"11","Date":"11"}]

         $("#<%=btnAdd.ClientID%>").click(function () {
             //Get values
             //Date
             var dlDt = $("#<%=tbRchngDt.ClientID%>").val();
             //Qty
             var dlQty = $("#<%=tbQty.ClientID%>").val();
             //item
             var dlItem = $("#<%=ddlItem.ClientID%>").val();
             //DO No
             var dlDOId = $("#<%=ddlDO.ClientID%>").val();
             var dlDO = $("#<%=ddlDO.ClientID%> option:selected").text();
             //Week
             var dlWeek = $("#<%=ddlWeek.ClientID%>").val();
             //Dealer
             var dlDealer = $("#<%=ddlDealer.ClientID%>").val();

             DistributionDtl = new Object();
             DistributionDtl.DOId = dlDOId;
             DistributionDtl.DONo = dlDO;
             DistributionDtl.DealerCode = dlDealer;
             DistributionDtl.Week = dlWeek;
             DistributionDtl.Item = dlItem;
             DistributionDtl.Qty = dlQty;
             DistributionDtl.Date = dlDt;


             //alert(DistributionDtl);
             arrobj.push(DistributionDtl);
             JSONString = JSON.stringify(arrobj);
             //alert(JSONString);
             $("#list").jqGrid('setGridParam',
             { datatype: "local",
                 data: JSONString
             }).trigger("reloadGrid");

         });
         jQuery("#list").jqGrid({ data: JSONString,
             datatype: "local",
             height: 150,
             width: 600,
             rowNum: 10,
             rowList: [10, 20, 30],
             colNames: ['DOID', 'Item', 'Qty', 'Date'],
             colModel: [{ name: 'DOId', index: 'DOId', width: 60, sorttype: "int" },
                                { name: 'Item', index: 'Item', width: 120 },
                                 { name: 'Qty', index: 'Qty', width: 80 },
                                  { name: 'Date', index: 'Date', width: 120}],
             pager: "#pager",
             viewrecords: true,
             caption: "Contacts"
         });

     });
4

1 に答える 1

0

次のいずれかの方法で、jqgrid にローカルなデータを追加する必要があります。

  • addJSONData - json としてデータを使用
  • addRowData - 行ごとに追加し、リロード グリッドをトリガーしてページネーションを再計算します - データは JavaScript オブジェクトである必要があります

ドキュメントはここにあります。編集:ドキュメントによると、ローカルデータを「データ」パラメーターに直接設定できますが、json文字列ではなく配列である必要がありJSONString、質問に内容がないため、問題が発生する可能性があります。

于 2012-12-20T12:13:51.683 に答える