如何在asp.net中动态创建radgrid中的按钮列

本文关键字:radgrid 按钮 创建 动态 asp net | 更新日期: 2023-09-27 18:25:07

如何在asp.net中动态创建radgrid中的按钮列?

我的页面中有一个雷达网格。我想在radgrid中动态创建按钮列。我创建列并为它们设置命令名。当我单击其中一个项目并转到ItemCommand事件时,命令名称为null(")。为什么命令名称为空?

我有一个包含3列的数据表。

所有列第一个,动态生成。

private void createColumnToGrid(DataTable dtData)
    {
        radGridTicketByFlagList.DataSource = new string[] { };
        radGridTicketByFlagList.Columns.Clear();
        for (int i = 0; i < dtData.Columns.Count; i++)
        {
                GridButtonColumn col = new GridButtonColumn();
                col.ButtonType = GridButtonColumnType.LinkButton;
                col.CommandName = "Total";
                col.UniqueName = "TCFlag" + i;
                col.HeaderText = dtData.Columns[i].ToString();
                col.DataTextField = dtData.Columns[i].ToString();
                radGridTicketByFlagList.Columns.Add(col);
        }
    }

然后填充radgrid的数据源。

     private void FillRptTicketByFlagMonthList()
    {
//........
         radGridTicketByFlagList.DataSource = new string[] { };
         DataTable dtTicketFlag= clsReportManager.GetRptTicketByFlag(); // fill data table
         radGridTicketByFlagList.DataSource = dtTicketFlag;
         radGridTicketByFlagList.DataBind();
}

生成网格。当我单击网格中的项目(链接按钮)并转到ItemCommand事件时,e.CommandName为空。为什么?

我想当我点击项目时,为我做一个操作。

如何在asp.net中动态创建radgrid中的按钮列

前段时间我遇到了同样的问题,然后我使用了telerik论坛上的提示:

http://www.telerik.com/forums/commandname-is-empty-if-the-column-if-created-from-code

总之,在创建按钮列之后,您需要将Rebind()添加到您的网格中。

也许还有其他方法可以让它发挥作用,但我不知道:(