【问题标题】:c# winforms datagridview add row [duplicate]c# winforms datagridview 添加行
【发布时间】:2018-07-10 06:27:42
【问题描述】:

c# windows 窗体 我有一个 datagridview 并且存在两列,它们是在表单设计时创建的。 我从表中获取数据并希望将数据逐行添加到网格中。

我可以通过两种方式做到这一点

1。对于表中的每一行

DataGridView1.Rows.Add(row["EmpId"], row["Name"]);

2。使用数组 - 对于表中的每一行

   ArrayList grdrow = new ArrayList();
   grdrow.Add(0);
   grdrow.Add(row["EmpId"].ToString());
   grdrow.Add(row["Name"].ToString());
   DataGridView1.Rows.Add(grdrow.ToArray());

我想使用 DataGridViewRow 将行添加到网格视图中,但它不起作用。 我使用的代码是:

foreach (DataRow row in ds.Tables[0].Rows)
{
    DataGridViewRow rowadd = new DataGridViewRow();
    rowadd.CreateCells(DataGridView1); 
    rowadd.Cells["Empid"].Value = row["EmpId"]; // it gives error here Column name 'Empid' cannot be found
    rowadd.Cells["EmpName"].Value = row["Name"];
    DataGridView1.Rows.Add(row);
}

【问题讨论】:

  • 只要把表设置为DataSourceDataGridView:this.dataGridView1.DataSource = ds.Tables[0];

标签: c# winforms datagridview datagridviewrow


【解决方案1】:

以下部分应该适合您。

//set your count of columns here
dataGridView1.ColumnCount = 2;

// Assign your columns
dataGridView1.Columns[0].Name = "EmpId";
dataGridView1.Columns[1].Name = "Name";

// Add your rows here    
this.dataGridView1.Rows.Add("ValueForColl1", "ValueForColl2");

应该为您解决问题,如果您不确定,请给我留言。

【讨论】:

  • 这与问题中的DataGridView1.Rows.Add(row["EmpId"], row["Name"]); 有何不同??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
相关资源
最近更新 更多