Kendo Grid:使用选中的单选按钮从行中获取所有数据

sup*_*bro 2 radio kendo-ui kendo-grid

我一直在寻找这方面的帮助,这应该是非常容易的,但我找不到我需要的东西.这是我的jsFiddle,它包含一个超级基本的Kendo网格.我只想在单击按钮时获取当前所选行的所有数据(使用一列单选按钮).

http://jsfiddle.net/HTXua/412/

我知道当选择一行时,它正在改变css类中的属性.因此,我试图检索的行将具有以下属性:

.detailGridRowSelector:checked
Run Code Online (Sandbox Code Playgroud)

我已经设法使用复选框(而不是单选按钮)实现第一行并计算检查了多少,但由于某种原因我无法访问数据!

var dataSource = {
data: [
    {
    "first": "Adam",
    "last": "Paul"},
    {
    "first": "Shannon",
    "last": "Harris"},
    {
    "first": "Frank",
    "last": "Rolinson"},
    ]
};

var columns = [
    {
        template:'<input type="radio" class="detailGridRowSelector" title="Select Lines" name="radioLineSelector" />', width: 20
        },
    {
field: "first",
title: "First Name",
width: "90px"},
{
field: "last",
title: "Last Name",
width: "90px"},
];

    $("#grid1").kendoGrid({
    dataSource: dataSource,
    columns: columns,
});

$("#getInfoButton").bind("click", function () {

    var lineData ="line data would be set here";
    //I know the selected row has the property: .detailGridRowSelector:checked
    alert(lineData);

});
Run Code Online (Sandbox Code Playgroud)

Ona*_*Bai 6

你应该做:

// Get a reference to the grid
var grid = $("#grid1").data("kendoGrid");
// Get checked row by getting the input and then the row containing the input
var row = $("input:checked", grid.tbody).closest("tr");
// Get the item
var item = grid.dataItem(row);
// Format and display item
alert (JSON.stringify(item));
Run Code Online (Sandbox Code Playgroud)

你在这里修改了JSFiddle:http://jsfiddle.net/OnaBai/HTXua/414/