9

我在 datagridview 上插入了一个复选框列和文本框列。如何在文本框列上手动添加行。

它应该是这样的:

checkbox | textbox
............................
checkbox | item1
checkbox | item2
checkbox | item3
checkbox | item4

这是datagridview上复选框和文本框的代码

public void loadgrid()
{
    DataGridViewCheckBoxColumn checkboxColumn = new DataGridViewCheckBoxColumn();
    CheckBox chk = new CheckBox();
    checkboxColumn.Width = 25;
    dataGridView1.Columns.Add(checkboxColumn);

    DataGridViewTextBoxColumn textboxcolumn = new DataGridViewTextBoxColumn();
    TextBox txt = new TextBox();
    textboxcolumn.Width = 150;
    dataGridView1.Columns.Add(textboxcolumn);     
}
4

2 回答 2

15

DataGridView您可以传递一个对象数组,其中包含应按添加列的顺序插入的值。例如你可以使用这个:

dataGridView1.Rows.Add(new object[] { true, "string1" });
dataGridView1.Rows.Add(new object[] { false, "string2" });

你可以从任何你想要的对象数组中构建对象数组,只要确保匹配类型(即使用 bool 作为checkedColumn)

于 2012-11-13T15:01:06.053 回答
7

您可以使用 Rows 集合手动填充 DataGridView 控件,而不是将其绑定到数据源。

this.dataGridView1.Rows.Add("five", "six", "seven", "eight");
this.dataGridView1.Rows.Insert(0, "one", "two", "three", "four");

看看文档

你也可以这样做:

DataGridViewRow row = (DataGridViewRow)yourDataGridView.Rows[0].Clone();
row.Cells["Column2"].Value = "XYZ";
row.Cells["Column6"].Value = 50.2;
yourDataGridView.Rows.Add(row);

看到这个答案

于 2012-11-13T14:59:54.137 回答