在以编程方式创建的GridView中编辑,删除和插入

时间:2012-11-13 10:50:59

标签: c# asp.net gridview edit insert-update

所以我遇到了一个问题。实际上我已经以编程方式创建了一个数据绑定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);

你可以看到我添加了一个编辑按钮,但它当然没有任何作用。有没有人有任何建议?

THX

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分: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.
}

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

相关问题