我正在尝试模拟此处其他开发人员创建的另一种形式。在 DevExpress 网格视图中,他向筛选行添加了一个新的行按钮,而不是添加到每一行。我想出了如何通过将自定义按钮复制到过滤器行中的适当位置来做到这一点。
我的问题是如何向它添加功能?我在文档中找到了 addnewrow() 方法,但它需要一个我不知道如何获取的 DataTable() 类。你能帮助我吗?我今天刚开始使用您的 ASPxGridView 控件,所以这对我来说是全新的。
这是我发现的一些用于在 DevExpress 的 gridview 上添加新行的代码。但感觉就像我走错了路。我的第一个问题是在哪里可以找到 DataTable 类?有没有更简单的方法来做到这一点?
DataTable GetTable()
{
//You can store a DataTable in the session state
DataTable table = Session["Table"] as DataTable;
if (table == null)
{
table = new DataTable();
DataColumn colid = table.Columns.Add("ID", typeof(Int32));
DataColumn nameid = table.Columns.Add("Name", typeof(String));
table.PrimaryKey = new DataColumn[] { colid };
colid.ReadOnly = true;
for (int i = 0; i < 23; i++)
{
DataRow aRow = table.NewRow();
aRow["ID"] = i;
aRow["Name"] = String.Format("Name{0}", i);
table.Rows.Add(aRow);
}
Session["Table"] = table;
}
return table;
}
protected void grid_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
ASPxGridView grid = sender as ASPxGridView;
DataTable table = GetTable();
table.Rows.Add(new Object[] { e.NewValues["ID"], e.NewValues["Name"] });
Session["Table"] = table;
e.Cancel = true;
grid.CancelEdit();
}