手动在datagridview上添加行

use*_*667 7 c# winforms

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

它应该是这样的:

checkbox | textbox
............................
checkbox | item1
checkbox | item2
checkbox | item3
checkbox | item4
Run Code Online (Sandbox Code Playgroud)

这是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);     
}
Run Code Online (Sandbox Code Playgroud)

Nik*_*vic 14

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

dataGridView1.Rows.Add(new object[] { true, "string1" });
dataGridView1.Rows.Add(new object[] { false, "string2" });
Run Code Online (Sandbox Code Playgroud)

并且您可以根据需要构建对象数组,只需确保匹配类型(即使用bool for checkedColumn)


Clo*_*ble 6

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

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

看一下文档

你也可以这样做:

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

看到这个答案