加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Telerik mvc grid,columns.bound to dictionary

发布时间:2020-12-16 04:31:32 所属栏目:asp.Net 来源:网络整理
导读:我有一个动态“属性”的模型(在DB级别,类似于 Entity-Attribute-Value系统). 这些属性位于Dictionary int,string的字段中,并希望将它们显示在列中. 模型: 该模型具有“属性”名称的静态数组(在静态反演器中初始化).键: public static ModelSpecialParamete
我有一个动态“属性”的模型(在DB级别,类似于 Entity-Attribute-Value系统).
这些属性位于Dictionary< int,string>的字段中,并希望将它们显示在列中.

模型:

该模型具有“属性”名称的静态数组(在静态反演器中初始化).键:

public static ModelSpecialParameter[] SpecialFields;

和一个字典(在模型创建中初始化,并添加所有可用的键)及其值.

public Dictionary<int,string> ValuesForDynamicProps;

风景:

@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =>
{
    //other columns for realy propertry
    //columns.Bound(e => ...
    //columns.Bound(e => ...

    foreach (var  item in SpecialFields) // SpecialFields is a static collection. represent the name an id of the dynamic property's.
    {
        columns.Bound("ValuesForDynamicProps[" + item.IdProperty + "]").Width(140).Title(item.DisplayName);
    }
}

我收到一个错误:

{“Bound columns require a field or property access expression.”}

我也尝试过:

columns.Bound(e => e.ValuesForDynamicProps[item.IdProperty]).Width(140).Title(item.DisplayName);

同样的错误.

即使我想要的是不可能的,我也在寻找如何获得理想结果的想法:
添加和删??除属性的灵活性.

解决方法

直接使用Fluent API没有简单的方法.您需要做的是从另一个方法调用ajax,该方法将返回带有结构化数据的JSON.

或者尝试另一种方式,这与您尝试的几乎相同.也许可以帮到你:
https://mycodepad.wordpress.com/2014/12/01/asp-net-mvc-5-with-razor-kendo-ui-dynamic-grid-creation-columns-ordering-grouping-and-paging/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读