我的模型是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;
}
}
答案 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
看起来您可以使用动态数据,但不能使用自动生成的列。
谢谢,