在@(Html.Kendo().Grid(Model) 中定义DataSource 时,我已经成功使用
.DataSource( dataSource => .Ajax( ).Model( model => model.Id( m => m.PROPERTY ) ) )
其中 PROPERTY 是模型对象的属性。如果 Model 是 System.Data.DataTable 并且 DataTable 中的 Id 列是 TableId,那么定义 Model.Id 的正确语法是什么?
换句话说,model.Id(m => ???)。
我试过了,
model.Id( m => Model.PrimaryKey )
,这似乎满足了设置 model.Id 的要求,但是更新操作( .Update(update => update.Action("MyUpdateMethod", "MyController")
)从未命中,所以我认为肯定还是有问题。
最佳答案
您可以绑定(bind)到 DataTable。事实上,我们做了很多动态网格,而 DataTable 是我们唯一的资源。不过,绑定(bind)有点不同。
我们的一个片段是这样的:
@model System.Data.DataTable
@(Html.Kendo().Grid(Model)
.Name("SomeGrid")
.Columns(columns=>
{
foreach(System.Data.DataColumn column in Model.Columns)
{
columns.Bound(column.ColumnName).Title(column.Caption).Width(200);
}
}
)
.Selectable(selectable=>selectable
.Type(GridSelectionType.Row)
)
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
foreach(System.Data.DataColumn column in Model.Columns)
{
model.Field(column.ColumnName,column.DataType);
}
}
)
.Read(read=>Action("SomeMethod", "SomeController"))
.PageSize(20)
)
关于kendo-ui - Kendo DataSource 使用 DataTable 时如何定义 Model.Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18727951/