-1

大家好,我希望你能帮助我,我有一个网格视图,在每一行我都有一个向上和向下按钮现在每条记录都有一个序列号(1、2、3..等)我想要的是当我单击向上或向下,行将重新排列,序列号也相应地重新排列,我搜索了这个,但我发现对我不起作用,你能给我一些文章或给我一个想法来帮助我解决这个问题.

多谢

4

1 回答 1

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
       }
}

填充网格视图的 List 对象需要有一个排序值 (int) 或将该值持久保存在数据库中,以便在行向上或向下移动时可以检索和更新它。

于 2013-06-22T03:15:51.260 回答