1

有人向我指出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;" });

抛出“模板只能用于字段访问、属性访问、单维数组索引或单参数自定义索引器表达式。”

如何添加编辑列?

4

1 回答 1

1

事实证明,“如何添加编辑列?” 是错误的问题。添加编辑命令的代码没有问题;但是,添加它会使报告的问题浮出水面。换句话说,错误消息中的“模板”是编辑模板,它不知道 DataTable 中的哪一列用于其 Id。

在为网格定义 DataSource 时,我有以下代码:

                .Model(model => 
                {
                    foreach (System.Data.DataColumn column in Model.Columns)
                    {
                        model.Field(column.ColumnName, column.DataType);
                    }                
                })

如 Telerik 支持论坛中的示例所定义。这对于简单地在网格中显示数据是可以的,但是当我介绍编辑的想法时,重要的是没有 Model.Id。那么问题就变成了,当 Model 是 DataTable 时如何定义 Id。这是一个单独的问题,我已在此处发布。

于 2013-09-10T20:53:36.880 回答