添加在GridView的
问题描述:
我加入列在最后一栏删除对grid-view dynamically
添加在GridView的
DataTable dt1 = new DataTable();
dt1.Columns.Add("Item Title", typeof(string));
dt1.Columns.Add("Unit Pack", typeof(string));
dt1.Columns.Add("Pack", typeof(string));
gv1.DataSource = dt1;
gv1.DataBind();
按钮,并通过
<asp:GridView ID="gv" runat="server">
<Columns>
<asp:CommandField ShowDeleteButton="true" />
</Columns>
</asp:GridView>
添加delete button automatically
这表明像
| Delete | Item Title | Unit Pack | Pack |
在GridView现在我想在最后一列显示删除按钮,如
| Item Title | Unit Pack | Pack | Delete |
我该怎么做?如何在最后一栏创建删除按钮?
答
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Item Title" HeaderText="Item Title" />
<asp:BoundField DataField="Unit Pack" HeaderText="Unit Pack" />
<asp:BoundField DataField="Pack" HeaderText="Pack" />
<asp:CommandField ShowDeleteButton="true" />
</Columns>
</asp:GridView>\
和代码的背景是:
dt1.Columns.Add("Item Title", typeof(string));
dt1.Columns.Add("Unit Pack", typeof(string));
dt1.Columns.Add("Pack", typeof(string));
gv1.DataSource = dt1;
gv1.DataBind();
试试这个代码
+0
这不是动态的:/ – 2016-03-01 11:42:53
答
你加入柱动态这就是为什么你需要添加删除列的动态。或者你可以在的RowDataBound添加的LinkButton:
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.DataItem != null)
{
LinkButton lb = new LinkButton();
lb.CommandArgument = e.Row.Cells[3].Text;
lb.CommandName = "Delete";
lb.Text = "Delete";
e.Row.Cells[3].Controls.Add((Control)lb);
}
}
在rowCommand
您可以删除写代码:
protected void gv_RowCommand(object sender, CommandEventArgs e)
{
switch (e.CommandName.ToLower())
{
case "delete":
//your code here
break;
default:
break;
}
}
答
在GridView的RowCreated事件,你可以把CommandField中向右:
protected void gv1_RowCreated(object sender, GridViewRowEventArgs e)
{
GridViewRow row = e.Row;
TableCell cell = row.Cells[0];
row.Cells.Remove(cell);
row.Cells.Add(cell);
}
由于这个blog
结帐的SetOrdinal属性 - 例如可以在这里找到http://forums.asp.net/t/1227098.aspx/1 – bUKaneer 2013-05-14 11:39:07
你运行该页面后检查你的'删除'按钮对齐或只是检查它的设计部分(无需运行或调试).plz快速回答。 – Rahul 2013-05-14 12:09:07