所以我遇到了一个问题。实际上我已经以编程方式创建了一个数据绑定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
答案 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.
}
这也是用于为删除和插入事件添加处理程序的方法。