【问题标题】:How to add functionality to custom new row button in DevExpress GridView control如何向 DevExpress GridView 控件中的自定义新行按钮添加功能
【发布时间】:2012-06-19 17:21:54
【问题描述】:

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

【问题讨论】:

  • 你能解释一下你想要达到什么目标吗?你需要使用数据表吗?是否要将网格绑定到从数据库中检索数据的数据源?
  • 我正在尝试向过滤器行添加一个新按钮,而不是在每个数据行中都有它。我不知道我是否需要使用 DataTable。是的,我要绑定网格。

标签: c# asp.net devexpress


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    相关资源
    最近更新 更多