选择Kendo Grid行时获取特定列

时间:2014-07-29 12:00:00

标签: javascript kendo-ui kendo-grid kendo-asp.net-mvc

我对Kendo UI很新,如果有人可以提供建议,我会很感激。 当我的网格行被选中时,我需要获取特定列的值。直到现在我可以获得所选行的所有列的值:

$("#grid").kendoGrid({
...
change:onChange,
columns: [{
            field: "Number",                
            title: 'Number',

        }, {
            field: "Title",
            title: "Title",               
        }]
});

onChange函数:

function onChange(arg) {
        var selected = $.map(this.select(), function (item) {
            return $(item).text();
        });

        alert(selected);
    }

我需要选择Number列的选定值。像$(item[name='Number']).text();之类的东西 我知道我可以解析字符串,但我想还有另一种方法。

非常感谢

2 个答案:

答案 0 :(得分:4)

您应该使用Kendo UI Grid的dataItem方法来检索所选行的实际数据项 - reference。然后,您可以按属性名称检索所需的值。

function onChange(e) {
  var selected = this.select()[0],
      item = this.dataItem(selected);

  alert(item.Number);
}

答案 1 :(得分:0)

如果您有多个选择并想要收集所有选定行的第一列。使用以下代码

      var allSelected = "";          
      var selectedRows = this.select();
        for (i = 0; i < selectedRows.length ; i++) {
            allSelected = allSelected + ", " + this.dataItem(selectedRows[i]).task_number;
        }