MVC Grid具有动态列添加,删除和重新排列功能

时间:2013-07-10 16:58:47

标签: asp.net-mvc-4 datagrid

我的MVC 4(Razor)项目需要具有以下功能的网格:

1。通过将DIV元素拖放到网格中来动态地将列添加到网格中: 最初它将是一个空网格(无列表)。我应该能够将外部DIV元素拖放到表格中,并且将使用DIV元素的文本将列添加到网格中。例如,我应该能够将带有文本“项目编号”的DIV从页面的另一部分拖放到网格中,并且网格将显示添加了标题“项目编号”的新列。接下来,当我将另一个带有文本“项目描述”的外部DIV拖放到网格中时,新的网格列“项目描述”将被添加到上一列的右侧。

2。删除网格列: 我应该能够从网格中删除网格列(例如,通过单击列标题处的X图标,或通过其他方式)

第3。重新排列网格列: 我应该能够通过将列标题拖放到新位置来重新排列网格列。

我探讨了一些第三方网格控件,如下所示:

SyncFusion Essential Grid: 我找不到任何内置的添加和删除列的功能(功能1和2),但它确实提供了列重新排列(功能3)

DevExpress Grid: 似乎没有提供任何功能,但允许简单拖放到列自定义(字段选择器),就像在Microsoft Outlook中一样。

Infragistics数据网格: 似乎没有提供开箱即用的3个功能中的任何一个

我的问题是,是否有人知道第三方网格控件可以提供上述功能的最小代码(如果不是开箱即用)?或者您认为使用纯HTML表与您自己的jQuery实现这一点更好吗?我已经尝试了后面的方法,并且能够实现功能2和3,但我有点在使用功能1,我需要能够在用户删除时立即在最后一列的右侧添加列DIV在桌子的任何地方。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我建议您使用作为JavaScript应用程序框架的extjs。它很容易链接到所有Web应用程序框架。但就像DevExpress一样,你应该付钱使用。

http://docs.sencha.com/extjs/4.2.1/#!/example/build/KitchenSink/ext-theme-neptune/ 在树的末尾进行拖放操作,在这里您可以找到所有问题的解决方案。

相关问题