Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在gridview的最后一列添加删除按钮_Asp.net_Gridview - Fatal编程技术网

Asp.net 在gridview的最后一列添加删除按钮

Asp.net 在gridview的最后一列添加删除按钮,asp.net,gridview,Asp.net,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=

我正在
网格视图上动态添加列

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按钮,如

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

尝试以下代码

您正在动态添加列,这就是为什么您需要添加动态删除列。也可以在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);
}

多亏了这一点

签出SetOrdinal属性-可以在这里找到示例,您是否在运行该页面后检查
删除
按钮对齐方式,或者只检查其设计部分(无需运行或调试)。请快速回答。这不是动态的:/
protected void gv_RowCommand(object sender, CommandEventArgs e)
{
switch (e.CommandName.ToLower())
{
    case "delete":
//your code here
        break;
    default:
        break;
}
}
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);
}