簡體   English   中英

簡單 Gridview 拖放重新排序

[英]Simple Gridview with Drag and drop Reorder

我有一個簡單的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>

我希望能夠做到的是合並基本的拖放行重新排序。

我看了很多解決方案,甚至想到了Reorder List ,但沒有什么能真正滿足我的簡單需求。 這個Gridview由我填充自定義 object(無Datasource Controls )的隱藏代碼提供支持。

我對AJAX感興趣,但前提是它也更新 object,而不僅僅是Grid Container

您必須考慮以下因素來實施它:

  1. 您需要在服務器端保留訂單,以便完整的回發將顯示正確的訂單

  2. 你需要一些東西( 也許是 jQuery 插件? ),它可以讓你直觀地交換行

  3. 您需要以一種可以在客戶端找到源行和目標行的鍵的方式修改腳本(您可以將它們包含在 gridview 模板內的隱藏文件中,並在 RoWDataBound 上分配其值)

  4. 您需要創建一個 web 服務或 static 頁面方法來將更改從客戶端發送到服務器

  5. 你需要將更改從客戶端發送到 web 服務或 static 頁面方法

  6. 您還需要處理 ajax 錯誤(轉到本文的客戶端腳本部分):

所以,不,沒有簡單的方法來做到這一點。 除非 C1 或 Telerik 有一些付費控件可以做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM