2

列を追加していますgrid-view dynamically

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();

delete button automaticallyで追加

<asp:GridView ID="gv" runat="server">
    <Columns>
        <asp:CommandField ShowDeleteButton="true" />
    </Columns>
</asp:GridView>

グリッドビューを次のように表示します

| Delete | Item Title | Unit Pack | Pack |

今、最後の列に削除ボタンを表示したい

| Item Title | Unit Pack | Pack | Delete |

これどうやってするの?最後の列に削除ボタンを作成するには?

4

3 に答える 3

3

動的に列を追加しているため、列を動的に削除する必要があります。または、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;
}
}
于 2013-05-14T12:14:02.190 に答える
2

グリッドビューの 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);
}

このブログのおかげで

于 2013-05-14T13:08:31.173 に答える
1
<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();

このコードを試してください

于 2013-05-14T11:41:53.967 に答える