0

所以我面临一个问题。事实上,我已经以编程方式创建了一个数据绑定的 GridView。问题是我想要交互(更新、删除、插入和所有钻取),但只使用 c#,因为我以编程方式创建了它。这是使用 GridView 创建的代码

 GridView grid = new GridView();
            //CSS
            grid.CssClass = "grid";
            grid.ForeColor = System.Drawing.Color.Gray;
            grid.ShowFooter = true;
            grid.AlternatingRowStyle.CssClass = "gridAltRow";
            grid.RowStyle.CssClass = "gridRow";
            grid.FooterStyle.CssClass = "gridFooterRow";
            grid.DataKeyNames = new string[] { "ID" };
            grid.RowCommand




            //End Css

            grid.AutoGenerateEditButton = true;            

            grid.DataSource = element.GetElementByRubric(testrub.ID);

            panel.Controls.Add(grid);
            grid.DataBind();

            TabContainer1.Tabs.Add(panel);

如您所见,我添加了一个编辑按钮,但它当然什么也没做。有没有人有什么建议 ??

谢谢

4

3 回答 3

1

您必须在 gridview 的 onrowupdating 事件中编写更新数据库的函数,以使编辑链接工作。

于 2012-11-13T12:18:32.797 回答
0

您需要为该OnRowEditing事件添加一个处理程序。类似的东西

grid.RowEditing+=new GridViewEditEventHandler(grid_RowEditing_RowEditing);

附加事件处理程序,然后附加如下事件处理程序。在这种情况下,sender将是动态创建的 GridView。

protected void grid_RowEditing(object sender, GridViewEditEventArgs e)
{
   ((GridView)sender).EditIndex = e.NewEditIndex;
   // Then call your databinding method here to update the grid.
}

这也是为删除和插入事件添加处理程序的相同方法。

于 2012-11-13T13:16:22.173 回答
0

为什么要在代码中生成网格?这是非常不寻常的。

这可能会也可能不会,但为什么要避免直接将网格写入 ASPX 文件?

于 2012-11-13T13:06:40.797 回答