0

我正在尝试模拟此处其他开发人员创建的另一种形式。在 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();
    }
4

1 回答 1

0

在执行此操作之前,您应该了解一些一般知识。在此处查看数据绑定说明,并在此处查看ASPxGridView 编辑演示。在会话中存储数据(如您找到的示例中)很少是一种方法。
至于添加新行,您可以使用ASPxClientGridView.AddNewRow客户端方法。因此,将ClientInstanceName分配给您的ASPxGridView(例如grid1)并调用grid1.AddNewRow()按钮单击事件 - ASPxButton.ClientSideEvents.Click

于 2012-06-19T09:21:54.993 回答