在Telerik MVC网格中自动生成带有动态对象集合的网格列作为模型

时间:2012-06-12 14:40:51

标签: asp.net-mvc telerik-grid telerik-mvc

我的模型是IEnumerable,我想绑定到telerik mvc网格。此外,网格应自动生成列并显示动态对象中的所有内容。

我在telerik论坛上发现了几个关于此主题的帖子,例如:http://www.telerik.com/community/forums/aspnet-mvc/general/dynamically-generate-grid-columns.aspx

不幸的是,结果是相同的:网格显示页脚中的总行数,但不显示任何行。

有什么想法吗?

更新:我在telerik论坛上附加了一个示例项目:http://www.telerik.com/community/forums/aspnet-mvc/grid/auto-generate-grid-columns-with-collection-of-dynamic-objects-as-model.aspx

更新:以下是试用它的示例代码:

Index.cshtml:

@model IEnumerable<dynamic>
@(
    Html.Telerik().Grid(Model).Name("Grid")
                .Columns(columns => columns.AutoGenerate(true))
                .Pageable()
                .Sortable()
                .Groupable()
                .Filterable()
)

HomeController.cs:

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View(GetStaticData());
        }

        private static IEnumerable<dynamic> GetStaticData()
        {
            dynamic products = new[]
                                    {
                                         new { ProductID = 1, ProductName = "Motor" },
                                         new { ProductID = 2, ProductName = "Converter" },
                                         new { ProductID = 3, ProductName = "Transformer" }
                                    };

            return products; 
        }
    }

1 个答案:

答案 0 :(得分:1)

这篇文章似乎表明它不受支持。 http://www.telerik.com/community/forums/aspnet-mvc/grid/display-dynamic-objects-in-grid.aspx

这篇文章说你可以重载列绑定并传递属性名称。

http://www.telerik.com/community/forums/aspnet-mvc/grid/dynamic-view-with-grid.aspx

看起来您可以使用动态数据,但不能使用自动生成的列。

谢谢,