Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在可编辑剑道UI网格中使用动态类型_C#_Asp.net_Kendo Ui_Kendo Grid_Dynamictype - Fatal编程技术网

C# 在可编辑剑道UI网格中使用动态类型

C# 在可编辑剑道UI网格中使用动态类型,c#,asp.net,kendo-ui,kendo-grid,dynamictype,C#,Asp.net,Kendo Ui,Kendo Grid,Dynamictype,我目前正在做一个项目,我需要用用户选择的列创建一个网格。这些列可以来自数据库上下文中的任意表。更糟糕的是,数据库由不同的软件管理,表和表字段可能会频繁更改。这在可预见的未来不会改变 所以我不能只创建一个包含所有可能列的模型。相反,我使用dynamic类型将数据移交给视图。这对我添加到剑道网格中的每个选项都非常有效——除了使其可编辑。为了使示例更容易理解,我省略了所有不相关的内容(如.Sortable()或通过Ajax读取数据的方法) ColumnData[]是显示的所有列的数组,包含它们的类型和

我目前正在做一个项目,我需要用用户选择的列创建一个网格。这些列可以来自数据库上下文中的任意表。更糟糕的是,数据库由不同的软件管理,表和表字段可能会频繁更改。这在可预见的未来不会改变

所以我不能只创建一个包含所有可能列的模型。相反,我使用
dynamic
类型将数据移交给视图。这对我添加到剑道网格中的每个选项都非常有效——除了使其可编辑。为了使示例更容易理解,我省略了所有不相关的内容(如
.Sortable()
或通过Ajax读取数据的方法)

ColumnData[]
是显示的所有列的数组,包含它们的类型和名称

@model ColumnData[]
@(Html.Kendo().Grid<dynamic>()
        .Name("grid")
        .Columns(columns =>
        {
            for (var i = 0; i < Model.Length; i++)
            {
                columns.Bound(Model[i].Type, Model[i].Name);
            }
        })
        //.Editable(editable => editable.Mode(GridEditMode.InLine))
        .DataSource(dataSource => dataSource
            .Ajax()
        )
)

我的猜测是,它在某个地方使用了lamba函数,这不能用于动态对象。我不知道,我怎么才能绕过这个问题。

因为在运行时使网格可编辑是不可能的(),我认为您应该在客户端初始化整个网格。
您可以找到一个很好的示例。

因为在运行时使网格可编辑是不可能的()我认为您应该在客户端初始化整个网格。
你可以找到一个很好的例子。

我会把这种可能性放在脑后,但出于可维护性的主要原因,我并不想转而使用js创建网格。(我们没有太多定制的js代码,希望保持这种方式)我会把这种可能性放在脑后,但我并不真的想切换到在js中创建网格,主要是出于可维护性的原因。(我们没有太多定制的js代码,希望保持这种方式)我会把这种可能性放在脑后,但我并不真的想切换到在js中创建网格,主要是出于可维护性的原因。(我们没有太多自定义js代码,希望保持这种方式)
System.InvalidOperationException: Templates can be used only with field access, property
    access, single-dimension array index, or single-parameter custom indexer expressions