我正在用正常工作的代码生成gridview的列(我在页面上设置了AutoGenerateColumns="false"),因此我在html标记中没有定义任何列。

我想将其中一列设为ButtonField,因此可以在代码中使用RowCommand处理程序-有没有办法以编程方式将一列设为ButtonField?

最佳答案

ButtonField程序化添加:

var buttonField = new ButtonField
                      {
                          ButtonType = ButtonType.Button,
                          Text = "My button",
                          CommandName = "DoSomething",
                      };
Grid.Columns.Add(buttonField);

标记:
<asp:GridView runat="server" ID="Grid" AutoGenerateColumns="false" OnRowCommand="RowCommandHandler"></asp:GridView>

处理程序:
protected void RowCommandHandler(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "DoSomething")
    {
        // place code here
    }
}

08-25 00:42