2012-04-10 119 views
0

我有一個簡單Gridview因爲如此與拖放和簡單的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

+0

這裏有一篇類似的文章http://codepedia.info/2015/03/reorder-gridview-asp-net-jquery-drag-drop-reorder-of-gridview-rows/ – 2015-04-13 10:29:44

回答

0

你必須實現它havingthis東西考慮:

  1. 你需要保持在服務器端的順序,這樣一個完整的回發會告訴你正確的順序

  2. 你需要東西(perhaps a jQuery plugin?)它允許你在視覺上交換行

  3. 你需要修改腳本的方式,可以找到客戶端的源和目標行的鍵(你,可以,即。包括他們在你的GridView的模板裏面隱藏的申請,並

  4. 需要create a web service or static page method從客戶端的變化發送給服務器

  5. 土特產品需要send the changes from the client to the web service or static page method

    轉讓其上的RowDataBound值)
  6. 還需要handle ajax errors(去這個帖子的客戶端腳本的一部分):

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