添加在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 | 

我该怎么做?如何在最后一栏创建删除按钮?

+0

结帐的SetOrdinal属性 - 例如可以在这里找到http://forums.asp.net/t/1227098.aspx/1 – bUKaneer 2013-05-14 11:39:07

+0

你运行该页面后检查你的'删除'按钮对齐或只是检查它的设计部分(无需运行或调试).plz快速回答。 – Rahul 2013-05-14 12:09:07

<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添加的LinkBut​​ton:

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