【问题标题】:Bind a ModelView with a List of string on a KendoGrid, with the mvc Wrapper使用 mvc Wrapper 将模型视图与 Kendo Grid 上的字符串列表绑定
【发布时间】:2012-09-10 08:32:39
【问题描述】:

嗨,我有一个这样的模型视图

public class GridUser
            {
                    public long id { get; set; }
                    public string username { get; set; }
                    public string name { get; set; }
                    public string email { get; set; }
                    public string surname { get; set; }
                    public DateTime createDate { get; set; }
                    public List<string> customfields { get; set; }
            }

我无法绑定在foreach内部写的字符串列表

.Columns(columns =>{

拜托,有人可以发布一个带有列表绑定的示例代码吗?

【问题讨论】:

  • 你想展示什么?网格的一列实际上并不是内部列表的位置...
  • 是的,不清楚您真正想要显示什么。也许举个例子会有所帮助。

标签: asp.net-mvc razor kendo-ui


【解决方案1】:

如果您将列绑定到此列表属性 - 您将无法正确显示该集合 - 您也不会进行排序/过滤等。 您可以使用 Template/ClientTemplate(取决于您的绑定)列来遍历集合并显示项目。 例如

@model IEnumerable<GridOneToManyTemplate.Models.Customer>

@(Html.Telerik().Grid<GridOneToManyTemplate.Models.Customer>()
    .DataBinding(config=> config.Ajax()
                            .Select("Customers","Home"))
    .Name("Grid")
    .Columns(cols =>
        { 
            cols.Bound(c => c.CompanyName);
            cols.Bound(c => c.Orders).ClientTemplate("<#= template(data) #>");
        })
    .Pageable(pages=> pages.PageSize(3))
)


<script>
    function template(item) {
        var html = "<ul>";
        for (var i = 0; i < item.Orders.length; i++) {
            html += "<li>";
            html += item.Orders[i].OrderID;
            html += "</li>";
        }
        html += "</ul>";
        return html;
    }  
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多