【发布时间】:2017-07-07 16:50:19
【问题描述】:
我正在尝试通过按向上按钮或向下按钮来学习在网格视图中上下移动列表。
下面是我的 ASP.NET。
<asp:GridView ID="gridChecks" runat="server" ShowFooter="true" AutoGenerateColumns="false" OnRowCreated="GridChecks_RowCreated" OnRowCommand="gridChecks_RowCommand" Style="margin: 0 auto; width: 850px; margin-top: 10px" CssClass="tableGlobalGenericStyle tableGlobalOption_AlternatingRow">
<Columns>
<asp:BoundField DataField="RowNumber" HeaderText="Check ID" HeaderStyle-Width="80px" />
<asp:TemplateField HeaderText="Check Title" HeaderStyle-Width="250px">
<ItemTemplate>
<asp:TextBox ID="txtCheckTitle" runat="server" Width="240px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Effective From">
<ItemTemplate>
<asp:textbox ID="txtDateFrom" runat="server" Width="150px"></asp:textbox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Effective To">
<ItemTemplate>
<asp:textbox ID="txtDateTo" runat="server" Width="150px"></asp:textbox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Actions" HeaderStyle-Width="200px">
<ItemTemplate>
<asp:Button ID="btnMoveUp" runat="server" CommandName="Up" CssClass="imageButton imageButton_UpArrow imageButton_Image" ToolTip="Click to add move check up the list" />
<asp:Button ID="btnMoveDown" runat="server" CommandName="Down" CssClass="imageButton imageButton_DownArrow imageButton_Image" ToolTip="Click to add move check down the list" />
<asp:Button ID="btnRemoveCheck" runat="server" OnClick="BtnRemove_Click" CssClass="imageButton imageButton_Remove imageButton_Image" ToolTip="Click to add remove check from the list" />
</ItemTemplate>
<FooterStyle HorizontalAlign="Center" />
<FooterTemplate>
<asp:Button ID="btnAddCheck" runat="server" OnClick="BtnAddCheck_Click" CssClass="imageButton imageButton_Add" Text="Add Check" ToolTip="Click to add new check to the list" />
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我目前有一个删除按钮,可以将其从行中删除并保留编号序列 ID。
删除按钮 C#
protected void BtnRemove_Click(object sender, EventArgs e)
{
Button lb = (Button)sender;
GridViewRow gvRow = (GridViewRow)lb.NamingContainer;
int rowID = gvRow.RowIndex;
if (ViewState["CurrentTable"] != null)
{
DataTable dt = (DataTable)ViewState["CurrentTable"];
if (dt.Rows.Count > 1)
{
if (gvRow.RowIndex < dt.Rows.Count - 1)
{
//Remove the Selected Row data and reset row number
dt.Rows.Remove(dt.Rows[rowID]);
ResetRowID(dt);
}
}
//Store the current data in ViewState for future reference
ViewState["CurrentTable"] = dt;
//Re bind the GridView for the updated data
gridChecks.DataSource = dt;
gridChecks.DataBind();
}
//Set Previous Data on Postbacks
SetPreviousData();
}
我正在尝试做类似的事情,但在列表中向上或向下移动行,同时保留数字序列 ID。
我知道它会涉及到 gridview 的索引,一旦完成,我需要重新绑定它。
有人可以请用一个例子指导我正确的方向。谢谢!!
【问题讨论】:
-
您需要将更改保存到数据库中。否则,它不会保留更改。