San*_*huk 4 asp.net-mvc telerik-grid
嗨,我是asp.net mvc和telerik控件的新手.当我点击行时,我怎么能得到o.Id值?
<%= Html.Telerik().Grid(Model)
.Name("RolesGrid")
.DataKeys(keys => keys.Add(o => o.Id))
.Selectable()
.Columns(columns =>
{
columns.Bound(o => o.Name);
columns.Bound(o => o.Description);
})
.Pageable()
.ClientEvents(events => events
.OnRowSelect("onRowSelect"))
%>
Run Code Online (Sandbox Code Playgroud)
在js代码中:
function onRowSelect(e) {
var ordersGrid = $('#RolesGrid').data('tGrid');
var row = e.row;
var dataItem = ordersGrid.dataItem(row);
alert(dataItem);
}
Run Code Online (Sandbox Code Playgroud)
但是dataItem为null,并且生成的html文件中没有id值.谢谢,抱歉我的英语不好
San*_*huk 12
所以我毕竟获得id的最好方法是:
在onRowSelect中编写下一个代码
var dataItem = jQuery('#MyGridId').data('tGrid').dataItem(e.row);
alert(dataItem['Id']);
Run Code Online (Sandbox Code Playgroud)
dataItem是一个具有网格模型所有属性的地图,因此您可以获得所需的一切
就这些,多谢
mmu*_*lva 10
来自telerik网格演示.
您必须将ID作为隐藏列放在telerik网格中.
// ...
.DataKeys(keys => keys.Add(o => o.Id))
.Selectable()
.Columns(columns =>
{
columns.Bound(o => o.Id).Hidden();
columns.Bound(o => o.Name);
columns.Bound(o => o.Description);
})
// ...
.ClientEvents(events => events.OnRowSelect("onRowSelect"))
Run Code Online (Sandbox Code Playgroud)
它将呈现一个
<td style="display: none; ...">...</td>
Run Code Online (Sandbox Code Playgroud)
然后你得到这样的:
function onRowSelect(e) {
var id = e.row.cells[0].innerHTML;
// ...
}
Run Code Online (Sandbox Code Playgroud)
笔记:
.DataKeys(...)如果没有记录的方法来获取定义的键的值,telerik会强制您调用该方法.| 归档时间: |
|
| 查看次数: |
10517 次 |
| 最近记录: |