3

我正在 MVC 中构建一个系统,该系统要显示大量异构数据:客户、日志等。

我发现我以不同的形式一遍又一遍地构建相同的视图:

  • 标题行(带有排序链接)
  • 过滤行(下拉菜单、日期选择器等)
  • 数据
  • 分页行

自然地,我的抽象主义者在喊“建立一个通用的数据视图工厂!”,它也应该如此。然而,在我消失在自己抽象的底部之前,这项工作是否已经在其他地方完成了?

我目前能找到的唯一选项是MVCContrib.Grid,它似乎不能处理过滤器的渲染(尽管它允许扩展渲染器)。这是唯一的选择吗?

4

6 回答 6

2

是的,我可以推荐这个 jQuery 插件

http://datatables.net/

于 2012-10-26T16:23:07.617 回答
2

正如人们可能期望的那样,类似于您的问题已经完成......几年前。所以在这里:ASP.NET MVC 的网格控件?您可以找到多年来已更新的可用数据网格列表。我建议您一劳永逸地查看所有这些,以便在未来您可以选择更适合您需求的。没有更好的网格,但它们每个都有优点和缺点。

于 2012-10-29T12:40:39.200 回答
1

我的选择介于

  • datatables.net(已经提到)

  • jqGrid (http://www.trirand.net/demoaspnetmvc.aspx)

起初我发现数据表更容易使用,但最后我使用了 jqGrid,因为我发现它更强大。

于 2012-10-29T09:39:51.253 回答
1

我已经成功使用了 KendoUI 和 jqGrid。如果您要寻找的只是一个网格,jqGrid 是一种轻量级且成本较低的解决方案。我喜欢 jqGrid 的一件事,除了它与淘汰赛的轻松集成之外,它能够编辑表格单元格中的数据以及创建“编辑视图”,其中数据在表单类型视图中编辑,并在编辑小部件旁边带有标签.

也就是说,听起来您可能需要的不仅仅是网格,如果是这样,您还应该考虑使用 Html 助手来生成组成部分(带过滤器的标题、数据行、分页等)。这将为您在页面上呈现不同部分的位置提供最大的灵活性。也许你想在页面的顶部和底部放置两次分页控件;也许您想将过滤器放入模态对话框中。简单地去的能力:

@Html.FilterControlsFor(Model.PhoneBookUsers) 

页面上的某个地方(或某个地方)并让助手处理所有细节是非常强大的juju。

于 2012-11-02T01:12:57.993 回答
0

Flexigrid - 不错的表格插件,但它只是 ui 表格,您应该为选择和过滤数据提供适当的服务器端处理。

于 2012-10-26T19:33:26.183 回答
0

KendoUI任何一天。有一个 ASP.NET 包装器,但它非常昂贵。但是 jQuery 库绝对是最好的。

于 2012-10-31T11:43:56.340 回答