2013-12-17 34 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?我在列定义中看不到该列。 –

相关问题