使GridView AutGenerateColumn成为一个触发RowCommand事件的LinkBut​​ton

时间:2017-04-07 20:53:11

标签: c# asp.net gridview

我的搜索似乎空白的简单问题。

我有一个main()

的GridView

这会生成一列“MyColumn”。我想使这个列值为一个可点击的LinkBut​​ton,它使用特定的CommandNmae触发GridView的RowCommand事件,并将cells值作为CommandArgument。

我试图在不使用自定义ItemTemplate的情况下执行此操作,我知道如何做到这一点。我希望我可以按照描述在GridView中实际修改自动生成的列。

蒂亚

1 个答案:

答案 0 :(得分:0)

这可以在GridView的OnRowDataBound事件中完成。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    //check if the current row is a datarow
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        ///create a new linkbutton
        LinkButton button = new LinkButton();
        button.Text = "LinkButton";
        button.CommandArgument = "MyArgs";

        //assign a command to the button
        button.Command += Button_Command;

        //add the button to cell x
        e.Row.Cells[3].Controls.Add(button);
    }
}

因为您是动态添加控件,所以GridView的绑定不应该包含在IsPostBack检查中。你会做的事。