【问题标题】:How to add rows to datagridview winforms? [duplicate]如何将行添加到 datagridview winforms? [复制]
【发布时间】:2013-04-04 14:35:27
【问题描述】:

我想向datagridview 添加行。我尝试了很多可能性,但它没有出现任何东西。我认为最好的解决方案是创建一个数据表,然后将其用作我的 gridview 的数据源。我使用winforms。请,欢迎任何其他想法。这是我迄今为止尝试过的:

public DataTable GetResultsTable()
    {
        DataTable table = new DataTable();
        table.Columns.Add("Name".ToString());
        table.Columns.Add("Color".ToString());
        DataRow dr;
        dr = table.NewRow();
        dr["Name"] = "Mike";
        dr["Color "] = "blue";
        table.AcceptChanges();
        return table;
    }
public void gridview()
{
     datagridview1.DataSource=null;
     datagridview1.DataSource=table;
}

【问题讨论】:

  • 我很少做WinForms,但是如果你要分配一个DataSource你是不是也必须绑定它?
  • 我认为在 winforms 上你不需要绑定它。谢谢
  • 目的是什么?您是否在 datagridview 中定义了任何列添加行就像gridview.Rows.Add(n) for n 行或gridview.Rows.Add()
  • 正在从数据库中为gridview获取数据

标签: c# winforms datagridview


【解决方案1】:

我在您的代码中发现了两个错误:

  1. dr["Color "] = "blue"; 列颜色应该没有空格 dr["Color"] = "blue";
  2. 您忘记在表格中添加行

    table.Rows.Add(dr);

你可以试试这个

public DataTable GetResultsTable()
{
    DataTable table = new DataTable();
    table.Columns.Add("Name".ToString());
    table.Columns.Add("Color".ToString());
    DataRow dr = table.NewRow();
    dr["Name"] = "Mike";
    dr["Color"] = "blue";
    table.Rows.Add(dr);
    return table;
}
public void gridview()
{          
    datagridview1.DataSource =  GetResultsTable();
}

【讨论】:

    【解决方案2】:

    有不同的方法,但在不同的条件下。

    正如我的以下代码向您展示了字符串数组的 gridview.add 方法:

    datagridview1.Rows.Add( { val, val, val });
    

    这取决于您要应用它的上下文和情况。

    【讨论】:

      【解决方案3】:

      试试这个方法:

      dataGridView1.Columns.Add("Col1", "Name"); // "Col1" is the name of the column and  "Name" is the column header text"
      dataGridView1.Columns.Add("Col2", "Age");
      dataGridView1.Rows.Add("ABC", "25");
      

      希望这会有所帮助:)

      【讨论】:

        【解决方案4】:
        DataGridView dgv = new DataGridView();
        
        DataTable table = new DataTable();
        
        dgv.DataSource = table;
        
        table.Columns.Add("Name");
        table.Columns.Add("Color");
        table.Rows.Add("Mike", "blue");
        table.Rows.Add("Pat", "yellow");
        
        this.Controls.Add(dgv);
        

        【讨论】:

        • 非常感谢!而且,它没有出现在我的网格视图上。我无法解释为什么......
        猜你喜欢
        • 1970-01-01
        • 2018-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-28
        • 1970-01-01
        相关资源
        最近更新 更多