如何在kendo ui网格中获取已检查行的值?

law*_*tog 1 asp.net-mvc kendo-ui kendo-grid

我想在kendo网格中获取所选行的行值.请在此处查看演示.例如,在按钮单击时,我希望将所选行的所有名称或ID作为数组或逗号分隔的字符串.我怎样才能做到这一点?谢谢.

剑道网格

      $('#getNames').click(function(){

//how to get all the names of selected rows?
alert('you have selected these people:')

    });

$("#grid").kendoGrid({
                    dataSource: {
                        type: "odata",
                        transport: {
                            read: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Customers"
                        },
                        pageSize: 10
                    },
                    groupable: true,
                    sortable: true,
                    pageable: {
                        refresh: true,
                        pageSizes: true,
                        buttonCount: 5
                    },
                    columns: [
                        {
                            field: "", title: "", template: "<input type='checkbox' name='selectcandidate' />"
                        },
                        {
                        field: "ContactName",
                        title: "Contact Name",
                        width: 200
                    }, {
                        field: "ContactTitle",
                        title: "Contact Title",
                        width: 250
                    }, {
                        field: "CompanyName",
                        title: "Company Name"
                    }, {
                        field: "Country",
                        width: 150
                    }]
                });
Run Code Online (Sandbox Code Playgroud)

Ona*_*Bai 10

你应该做:

// Get reference to Grid object
var grid = $("#grid").data("kendoGrid");
// Get selected rows
var sel = grid.select();
// Get data item for each
var items = [];
$.each (sel, function(idx, row) {
    var item = grid.dataItem(row);
    items.push(item);
});
// Show results
console.log("items", items);
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,您需要一次检索一个数据项,然后构建一个包含所有数据的数组,如果这是您需要的.

在这里查看:http://jsfiddle.net/OnaBai/XNcmt/71/

编辑如果你想获得点击复选框的行,那么你应该这样做:

// Get reference to Grid object
var grid = $("#grid").data("kendoGrid");
// Get selected rows
var sel = $("input:checked", grid.tbody).closest("tr");
// Get data item for each
var items = []; 
$.each (sel, function(idx, row) {
    var item = grid.dataItem(row);
    items.push(item);
});
alert ("selected: " + JSON.stringify(items));
Run Code Online (Sandbox Code Playgroud)

在这里查看:http://jsfiddle.net/OnaBai/XNcmt/72/