大家好我希望你能帮我这个,我有一个网格视图,每行我都有一个上下按钮现在每个记录都有一个序号(1,2,3 ..等)我想要的当我点击向上或向下时,行将重新排列并且序列号也相应地,我搜索了这个,但是我找到的对我不起作用,你能指点我一些文章或给我一个想法来帮助我解决了这个问题。
非常感谢
答案 0 :(得分: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对象需要具有Sort值(int)或者在数据库中保留值,以便在向上或向下移动行时检索和更新它。