2013-12-17 32 views
3

改變格列值我已經網格下面,如何在數據綁定事件

<div class="kotgrid"> 
</div> 

我綁定的數據如下。在這裏,我想改變DataBound事件timedelay列值,

$(".kotgrid").kendoGrid({ 
    dataSource: dataSource, 
    dataBound: function (e) { 
     var grid = this; 
     grid.tbody.find('>tr').each(function() { 
      var dataItem = grid.dataItem(this); 
      var d = new Date(); 
      var currentTime = parseTime(dataItem.servertime); 
      var currenTime = d.getHours() + ":" + d.getMinutes(); 
      var meanTime = diff(orderTime2, currenTime2) 
      //I want to set this meanTime in timedelay coloumn. How can I achieve this? 
     }) 
    }, 
    filterable: true, 
    scrollable: true, 
    columns: [ 
        { hidden: true, field: "orderitemid" }, 
        { field: "tableid", title: "Table No" }, 
        { field: "itemname", title: "Items" }, 
        { field: "quantity", title: "Quantity" }, 
        { field: "modifier", title: "Modifier" }, 
        { hidden: true, field: "orderedtime", title: "Time Delay" }, 
        { field: "timedelay", title: "Time Delay" }, 
        { hidden: true, field: "alert" }, 
        { hidden: true, field: "category", groupHeaderTemplate: "#= value #" }, 
        { command: { text: "Pickup", click: showDetails} } 
      ], 
    mobile: "phone", 
    editable: false, 
    selectable: "row", 
    height: "600px" 
}); 

我不知道如何去實現它。任何幫助將是非常可觀的。

在此先感謝。

回答

4

您不需要遍歷<tr>元素,除非您只想爲當前頁面執行此操作。你可以迭代grid.dataSource.data()。 所以,你可以這樣做:

var data = this.dataSource.data(); 
$(data).each(function() { 
    var d = new Date(); 
    var currentTime = parseTime(this.servertime); 
    var currenTime = d.getHours() + ":" + d.getMinutes(); 
    var meanTime = diff(orderTime2, currenTime2) 
    // set on dataItem 
    this.set("timedelay", meanTime); 
}); 

不管你如何獲得訪問dataItem,您可以設置使用set方法的任何財產(數據源中包含從ObservableObject繼承模型項目)。

+0

Chrome說**未捕獲TypeError:Object#沒有方法'set'** friend。 – Gunaseelan

+0

@Gunaseelan是否像我一樣迭代'dataSource.data()'?如果你正在遍歷'tr'元素,那麼你需要像你在你的問題('grid.dataItem(this);')中那樣獲得dataItem。 –

+0

@Gunaseelan好的,我剛剛注意到我有一個複製/粘貼錯誤 - 我在代碼中將dataItem替換爲第4行中的「this」。還有一些我注意到:什麼是dataItem.servertime?我在列定義中看不到該列。 –

相關問題