【问题标题】:How to create button in dynamically created Gridview?如何在动态创建的 Gridview 中创建按钮?
【发布时间】:2012-11-09 11:38:46
【问题描述】:

我正在使用 AJAX 控制工具包来创建 Tabpanels。每个面板都按照以下代码填充了一个网格视图。

现在,我想为每一行添加一个按钮。单击它时,它应该作为参数传递该行的单元格之一,但是由于 Gridview 是动态创建的,我不知道如何。有什么建议吗?

foreach (DataTable dt in DataSet1.Tables)
{
    GridView gv = new GridView();
    var thepanel = new AjaxControlToolkit.TabPanel();
    gv.DataSource = dt;
    gv.DataBind();
    thepanel.Controls.Add(gv);
    TabContainer.Controls.Add(thepanel);
}

【问题讨论】:

标签: c# button gridview datatable


【解决方案1】:

您可以按如下方式向网格中添加选择按钮:

Gridview1.AutoGenerateSelectButton=true;

【讨论】:

    【解决方案2】:

    我刚刚找到了一个可能感兴趣的解决方案:

    首先,您应该在数据绑定之前包含 fllwg 行:

    gv.RowDataBound += gv_RowDataBound;
    gv.RowCommand += gv_RowCommand;
    

    然后定义RowDataBound来插入Linkbutton:

    protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
    
                LinkButton butIgnorar = new LinkButton()
                {
                   CommandName = "Ignorar",
                   ID = "butIgnorar",
                   Text = "Ignorar",
                   //optional: passes contents of cell 1 as parameter
                   CommandArgument =  e.Row.Cells[1].Text.ToString()
                };
                //Optional: to include some javascript cofirmation on the action
                butIgnorar.Attributes.Add("onClick", "javascript:return confirm('Are you sure you want to ignore?');");
                TableCell tc = new TableCell();
                tc.Controls.Add(butIgnorar);
                e.Row.Cells.Add(tc);
            }
        }
    

    最后,您从 RowCommand 调用命令

    protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
        {
    
            string currentCommand = e.CommandName;
            string parameter= e.CommandArgument.ToString();
    
            if (currentCommand.Equals("Ignorar"))
            {
                yourMethodName(parameter);
            }
        }
    

    希望这对某人有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      相关资源
      最近更新 更多