具有拖放重新排序功能的简单网格视图
本文关键字:功能 简单 简单网 视图 网格 排序 拖放 新排序 | 更新日期: 2023-09-27 18:30:49
我有一个简单的Gridview
<asp:GridView ID="taskGrid" Width="100%" OnSelectedIndexChanged="taskGrid_SelectedIndexChanged"
AutoGenerateColumns="false" runat="server">
<EmptyDataTemplate>
Choose Items from Drop Down Lists
</EmptyDataTemplate>
<Columns>
<asp:TemplateField HeaderStyle-Width="5%" ItemStyle-Width="5%">
<ItemTemplate>
<asp:ImageButton CommandName="Select" CommandArgument='<%# Eval("TaskID") %>'
Width="10px" Height="10px" ID="imgRedX" ToolTip='<%# Eval("TaskID") %>'
ImageUrl="~/Images/redX.png" OnClick="taskGrid_SelectedIndexChanged"
runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderStyle-Width="47.5%" ItemStyle-Width="47.5%"
DataField="ServerName" HeaderText="Deploy Dashboard" />
<asp:BoundField HeaderStyle-Width="47.5%" ItemStyle-Width="47.5%"
DataField="ApplicationName" HeaderText="Deploy Task" />
</Columns>
</asp:GridView>
我希望能够做到的是基本的行拖放重新排序。
我看过很多解决方案,甚至想到了重新订购列表,但没有一个真正适合我的简单需求。此Gridview
由我填充自定义对象(无Datasource Controls
)的代码隐藏提供支持。
我对 AJAX 感兴趣,但前提是它也更新对象,而不仅仅是Grid Container
。
你必须在实现它时考虑到以下几点:
-
您需要在服务器端保留顺序,以便完整回发将显示正确的顺序
-
你需要一些东西(也许是一个jQuery插件?)允许你直观地交换行。
-
您需要以可以在客户端找到源行和目标行的键的方式修改脚本(您可以,即将它们包含在网格视图模板内的隐藏文件中,并在 RoWDataBound 上分配其值)
-
您需要创建 Web 服务或静态页面方法,以将更改从客户端发送到服务器
-
TOU 需要将更改从客户端发送到 Web 服务或静态页面方法
-
您还需要处理 Ajax 错误(转到本文的客户端脚本部分):
所以,不,没有简单的方法可以做到这一点。除非 C1 或 Telerik 有一些付费控制权这样做。