如何创建和附加行到此DataGridView?

时间:2013-01-23 15:48:25

标签: c# .net winforms datagridview

我是.Net的初学者,所以也许我的问题对你们中的某些人来说似乎很幼稚。

我在WinForm项目中有DataGridView表: enter image description here

它包含三列(image,combobox和textBox列)。

知道如何在此表中创建和附加行吗?

提前谢谢!

3 个答案:

答案 0 :(得分:1)

您创建数据源,然后将数据源绑定到网格的DataSource属性。然后,您可以将记录添加到数据源中。

// create data source
BindingList<Shape> dataSource = new BindingList<Shape>();

// add record to data source
dataSource.Add(new Shape("Some Contour", "Circle", "Some Name"));

// bind data source
yourDataGridView.DataSource = typeof(BindingList<Shape>);
yourDataGridView.DataSource = dataSource;

设置每列的DataPropertyName以匹配Shape类中字段的名称。

DataGridViewTextBoxColumn colName = new DataGridViewTextBoxColumn();
colName.DataPropertyName = "Name";

yourDataGridView.Columns.Add(colName );

但是,我建议您使用Virtual Mode来保持数据分离和分离。

答案 1 :(得分:1)

如果您希望接受来自用户的输入,您必须在此页面上创建一个表单,用户可以使用该表单提供输入。获取这些值并将它们添加到DataTable。以下是显示它的示例代码段:

DataTable dt = new DataTable();
dt.Columns.Add("Contour",typeof(string));  //I am assuming that you will store path 
                                           //of image in the DataTable
dt.Columns.Add("Shape",typeof(string));
dt.Columns.Add("Name",typeof(string));

在收到用户的输入时,继续向DataTable添加新行:

DataRow row = dt.NewRow();
row["Contour"] = txtContourPath.Text;
row["Shape"] = ddlShape.SelectedValue;
row["Name"] = txtName.Text;
dt.Rows.Add(row);

将上面的DataTable分配给GridView的DataSource属性。

dgv.DataSource = dt;

答案 2 :(得分:1)

您可以使用方法:

  1. dataGridView1.Rows.Insert(...)
  2. dataGridView1.Rows.Add(...)
  3. Jay的回答:使用dataGridView1.DataSource = dataSource;
  4. 希望我能帮助你。