0

皆さん、私のデータは次のようになります。

タイムシートデータ

[
  {ID:2, Name:QXC, Items:[{Status:1, Hours: 8},{Status:1, Hours: 4}]}, 
  {ID:5, Name:ABC, Items:[{Status:1, Hours: 6},{Status:1, Hours: 0}]}
]

私のグリッドは次のようになります。

  jQuery("#rowed5").jqGrid({        
    data: timeSheetData,
    datatype: "local",
    height: 250,
    colNames:['ID','Name','Monday','Tuesday'],
    colModel:[
              {name:'ContractID', index:'ContractID', jsonmap:'?????', width:200, editable:false, sortable:false},
              {name:'EmployeeName', index:'EmployeeName', jsonmap:'?????'' ,width:200, editable:false, sortable:false},
              {name:'Monday', index:'Monday', jsonmap:'?????', width:200, editable:false, sortable:false},
              {name:'Tuesday', index:'Tuesday'jsonmap:'?????'jsonmap:'timeSheetRow1.timeSheetItem2.WorkedHours', width:200, editable:false, sortable:false}
             ],
    caption: "Input Types",
    jsonReader: {repeatItems: false, root: "timeSheetRow1"}
  });

そして、??????の代わりに何を入れる必要があるのか​​ 興味があります 私のjqgridテーブルで次の2行を取得するには:

   2, QXC, 8, 4
   5, ABC, 6, 0

事前にt​​hx!

4

1 に答える 1

0

それで、私はそれを理解しました。私の問題は、オブジェクトの値だけを見ていて、その構造を見ていないことでした。したがって、それを念頭に置いて、オブジェクト構造は次のようになります。

//TimeSheetData:
var timeSheetData = new Object();
timeSheetData.Rows = [row1,row2]; /*Rows is an
Array containing Row objects*/

//Row:
var row1 = new Object();
row1.ID = 19;
row1.Name = "F.L.";
row1.Items = [item1, item2]; /*Items
is an object with containing other objects(Item) and some properties*/

//Item:
var item1 = new Object();
item1.Status = 0;
item1.Hours = 6;

要約すると、私の質問 (私の状況では colModel はどのように見えるか) に対する答えは次のとおりです。

...,
colModel:[
           {name:'ContractID', index:'ContractID', jsonmap:'ID', width:200, editable:false, sortable:false},
           {name:'EmployeeName', index:'EmployeeName', jsonmap:'Name' ,width:200, editable:false, sortable:false},
           {name:'Monday', index:'Monday', jsonmap:'Items.0.Hours', width:200, editable:false, sortable:false},
           {name:'Tuesday', index:'Tuesday', jsonmap:'Items.1.Hours', width:200, editable:false, sortable:false}
         ],
jsonReader: {repeatItems: false, root: "Rows"}
});
jQuery("#rowed5")[0].addJSONData(timeSheetData.Rows);
于 2013-09-11T09:07:55.643 に答える