【问题标题】:How to create button column in radgrid dynamically in asp.net?如何在 asp.net 中动态创建 radgrid 中的按钮列?
【发布时间】:2014-10-01 08:53:48
【问题描述】:

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

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

我有一个包含 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 为空。为什么??

我想当我点击 item 时,为我做一个动作。

【问题讨论】:

    标签: c# asp.net telerik radgrid


    【解决方案1】:

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

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

    所以总结一下,你需要在创建按钮列后添加到你的网格 Rebind()。

    也许还有其他方法可以使它起作用,但我不知道它们:(

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-28
      • 2020-12-06
      • 1970-01-01
      相关资源
      最近更新 更多