2015-07-27 2 views
1

У меня есть выбираемая сетка Кендо с пользовательской кнопкой панели инструментов. Как я могу получить выбранную строку PK при нажатии кнопки? Я пробовал много советов, но никто не работал, потому что у меня есть сервер DataSource.Получить PK выбранной строки Kendo Grid From Toolbar Button

<%: Html.Kendo().Grid<Web.Models.Model>() 
    .Name("Grid") 
    .BindTo((IEnumerable<Web.Models.Model>)ViewBag.List) 
    .Columns(columns => 
    { 
     columns.Bound(p => p.PK).Title("PK"); 
     columns.Bound(p => p.STATUS).Title("Status"); 
     columns.Bound(p => p.NOTES).Title("Notes");      
    }) 

    .ToolBar(toolbar => 
    { 
     toolbar.Custom(); 
     toolbar.Template("<a class='k-button k-button-icontext' onClick='EditItem();' ></span>Edit Item</a>"); 
    })  
    .DataSource(dataSource => dataSource 
     .Server() 
     .Model(Model => Model.Id(p => p.PK)) 
     ) 
    .Selectable(selectable => selectable 
     .Mode(GridSelectionMode.Multiple)) 

%> 



function EditItem(e) { 

??? 

}; 
+0

попробуйте найти метод в JQuery. –

ответ

1

Пожалуйста, попробуйте приведенный ниже фрагмент кода.

<script> 
    function EditItem() { 
     var grid = $("#Grid").data("kendoGrid"); 
     var rows = grid.select(); 
     rows.each(function (index, row) { 
      var selectedItem = grid.dataItem(row); 
      alert(selectedItem.PK); 
     }); 
    } 
</script> 

Дайте мне знать, если есть вопросы.

+0

Не работает. Uncaught TypeError: Невозможно прочитать свойство «1» неопределенного. – ArDevTeam

+0

С какой строки кода вы получаете ошибку. –

+0

В файле kendo.all.min.js, а не в моем коде. – ArDevTeam

0

привет вы можете использовать простой JQuery для этого в качестве другого варианта

var rowID = $("#Grid .k-state-selected").find("td:eq(0)")[0].innerText 
alert(rowID) 
0

Это один работает!

   function EditItem(e) { 

        var selectedRows = $("#Grid").find(".k-state-selected"); 
        for (var i = 0; i < selectedRows.length; i++) { 
         var selectedRow = selectedRows[i]; 
         var PK = selectedRows[i].cells[0].innerText; 
        } 

       }; 
Смежные вопросы