有人向我指出Kendo Bind to Data Table,它在网格构建器中有这个代码:
.Columns(columns =>
{
foreach (System.Data.DataColumn column in Model.Columns)
{
columns.Bound(column.ColumnName);
}
})
这样可行,但我还想添加一个“编辑”列,所以我在foreach之前添加了这一行:
columns.Command(command => command.Edit().Text("Edit").UpdateText("Submit")).Width(70).HtmlAttributes(new { style = "text-align: right;" });
抛出“模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式。”
如何添加“编辑”列?
答案 0 :(得分:1)
事实证明,“如何添加编辑列?”这是错误的问题。添加Edit命令的代码没有错;然而,添加它表明了报告的问题。换句话说,错误消息中的“模板”是编辑模板,它不知道DataTable中的哪个列用于其Id。
为网格定义DataSource时,我有以下代码:
.Model(model =>
{
foreach (System.Data.DataColumn column in Model.Columns)
{
model.Field(column.ColumnName, column.DataType);
}
})
在Telerik支持论坛的示例中定义。这对于简单地在网格中显示数据是可以的,但是当我介绍编辑的想法时,它重要的是没有Model.Id。接下来的问题是,当模型是DataTable时,如何定义Id。这是一个单独的问题,我已发布here。