使用文本框向DataGridView添加新行

时间:2015-11-01 12:35:58

标签: c# datagridview

我正在尝试从文本框添加到datagridview但代码不起作用

dataGridView1.Rows[0].Cells[0].Value = textBox6.Text;
dataGridView1.Rows[0].Cells[1].Value = textBox5.Text;
dataGridView1.Rows[0].Cells[2].Value = textBox7.Text;
dataGridView1.Rows[0].Cells[3].Value = dateTimePicker3.Value;

3 个答案:

答案 0 :(得分:2)

假设您已正确设置了DataGridView列,则可以使用以下DataGridViewRowCollection.Add Method (Object[])重载

dataGridView1.Rows.Add(textBox6.Text, textBox5.Text, textBox7.Text, dateTimePicker3.Value);  

请注意,只有当网格视图中的列数与传递的值的计数相同时,上述操作才有效。

或者你可以使用这样的东西,这对每个场景都适用

int rowIndex = dataGridView1.Rows.Add();
var row = dataGridView1.Rows[rowIndex];
row.Cells[0].Value = textBox6.Text;
row.Cells[1].Value = textBox5.Text;
row.Cells[2].Value = textBox7.Text;
row.Cells[3].Value = dateTimePicker3.Value;

答案 1 :(得分:2)

现在我知道你确实在一个表单项目中。我看到另一个人已经建议这个,我在断言中添加,这样如果任何TextBox控件为空,则不会添加该行。

if ((!string.IsNullOrWhiteSpace(textBox6.Text)) || (!!string.IsNullOrWhiteSpace(textBox5.Text)) || (!string.IsNullOrWhiteSpace(textBox7.Text)))
{
    dataGridView1.Rows.Add(new object[] {textBox6.Text,textBox5.Text,textBox7.Text,dateTimePicker3.Value });
}

答案 2 :(得分:1)

您可以从文本框中创建字符串数组,并将其添加到数据网格视图中。

string[] row = new string[] { textBox6.Text,textBox5.Text,textBox7.Text,
           dateTimePicker3.Value};
dataGridView1.Rows.Add(row);