2013-06-21 54 views
-1

你好傢伙我希望你能幫助我,我有一個網格視圖,並在每一行我有一個向上和向下的按鈕,現在每個記錄有一個序列號(1,2,3等)我想要的是當我點擊向上或向下時,行將重新排列,順序號也相應,我搜索了這個,但我發現沒有爲我工作,你能指點我一些文章或給我一個想法來幫助我解決此問題。交換GridView行向上和向下?

非常感謝

+0

'我搜索了這個,但是我發現沒有爲我工作'這是什麼意思? – walther

回答

0

嘗試以下方法:

<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" OnRowCommand="gv_RowCommand"> 
    <Columns> 
     <asp:TemplateField ShowHeader="False"> 
      <ItemTemplate> 
       <asp:Button ID="btnUp" runat="server" 
        CausesValidation="false" 
        CommandName="Up" Text="↑" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField ShowHeader="False"> 
      <ItemTemplate> 
       <asp:Button ID="btnDown" runat="server" 
        CausesValidation="false" 
        CommandName="Down" Text="↓" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

的片段上方將創建一個網格視圖具有兩列,一個用於向上箭頭(ALT + 24)和一個用於向下箭頭(Alt鍵+ 25)。

現在我們需要編寫代碼來處理向上或向下命令被點擊相應的按鈕時,是這樣的:

protected void gvQuestion_RowCommand(Object sender, GridViewCommandEventArgs e) 
{ 
    try 
    { 
     // Handle the Up command 
     if (e.CommandName == "Up") 
     { 
      // Do logic to move the row up (most likely decrements a sort order value) 

      // Rebind grid 
     } 

     // Handle the Down command 
     if (e.CommandName == "Down") 
     { 
      // Do logic to move the row down (most likely increments a sort order value) 

      // Rebind grid 
     } 
} 

用於填充網格視圖需要有一個排序值列表對象(int)或將值保存在數據庫中,以便在行向上或向下移動時可以檢索和更新該值。