【问题标题】:How to add rows in devexpress GridControl just like we add rows in a normal datagridview. (WinForms C#)如何在 devexpress GridControl 中添加行,就像我们在普通 datagridview 中添加行一样。 (WinForms C#)
【发布时间】:2013-12-26 10:19:21
【问题描述】:

我想知道是否有一个选项可以在 devexpress GridControl 中添加行,就像我们在普通的 datagridview 中添加行一样。

在添加行时,我没有数据表或数据源。当应用程序加载时,我应该能够手动将行插入到 gridview 中。它可以像这样在普通的datagridview中完成:

dataGridView1.Rows.Add();

我正在使用 C# 编写 WinForms。 我在 devexpress gridview 中找不到执行此操作的选项。

谢谢 拉胡尔

【问题讨论】:

    标签: c# winforms gridview datagridview devexpress


    【解决方案1】:

    我不明白您为什么没有数据源以及阻止您创建数据源的原因。

    实现您想要做的最正确的方法是构建您想要显示并影响的对象的List作为GridControl的数据源

    List<MyClass> myClassList = new List<MyClass>();
    // Here, you build your list as if you were to build your "rows"
    
    // Finally, you can do this
    gridControl1.DataSource = myClassList;
    

    DevExpress 创建列并填充数据。

    【讨论】:

      【解决方案2】:

      为了能够在您的网格中添加行:

      。应该设置你的 gridDataSource 属性(就像 Fares 写的那样)

      。使您的视图可编辑

      myView.OptionsBehavior.Editable = true;
      

      。设置视图的 NewItemRowPosition 的位置

      myView.OptionsView.NewItemRowPosition = NewItemRowPosition.Bottom;
      

      【讨论】:

        【解决方案3】:

        这可以做到,您必须使用 DataTable 将其分配为 DataSource - 看看这段代码:

            Dim dataTable As DataTable = New DataTable
        
            dataTable.Columns.Add(Me.GridColumn1.FieldName)
            dataTable.Columns.Add(Me.GridColumn2.FieldName)
            dataTable.Columns.Add(Me.GridColumn3.FieldName)
            dataTable.Columns.Add(Me.GridColumn4.FieldName)
        
            For Each pic In collectionToShow
                Dim row As DataRow = dataTable.NewRow()
                row(Me.GridColumn1.FieldName) = pic.Name
                row(Me.GridColumn2.FieldName) = pic.Town
                row(Me.GridColumn3.FieldName) = pic.Alias
                row(Me.GridColumn4.FieldName) = pic.Somevalue
                dataTable.Rows.Add(row)
            Next
        
            gcPcoSelection.DataSource = dataTable
        

        不要忘记在 DevExpress-Designer 的 GridColumns 中指定一个 FieldName,否则 Fields 将是空的。这是 VB.net,但可以在 C# 中 1:1 完成,顺便说一句,我不明白 DevExpress 怎么能让简单的任务变得如此困难。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-12-10
          • 2018-07-10
          • 1970-01-01
          • 2017-08-19
          • 1970-01-01
          • 1970-01-01
          • 2011-03-23
          • 1970-01-01
          相关资源
          最近更新 更多