2016-09-06 60 views
0

我是新来的堆栈溢出,所以很抱歉,如果我搞砸了。VB.NET:编辑DataGridView文本框行

基本上我到目前为止是DataGridView在Form1上调用DataDataGridView。当单击其中一行时,它会将每行中的行中的数据传递到Form2上的某些文本框中,每个文本框保存单独列的数据。 Form2.TextBox1.Text = DataDataGridView.Rows(e.RowIndex).Cells(0).Value.ToString() Form2.TextBox2.Text = DataDataGridView.Rows(e.RowIndex).Cells(1).Value.ToString() Form2.TextBox3.Text = DataDataGridView.Rows(e.RowIndex).Cells(2).Value.ToString() Form2.TextBox4.Text = DataDataGridView.Rows(e.RowIndex).Cells(3).Value.ToString() Form2.TextBox5.Text = DataDataGridView.Rows(e.RowIndex).Cells(4).Value.ToString() Form2.TextBox6.Text = DataDataGridView.Rows(e.RowIndex).Cells(5).Value.ToString() Form2.TextBox7.Text = DataDataGridView.Rows(e.RowIndex).Cells(6).Value.ToString()

我想要的是用户能够编辑Form2中的文本框字段,然后单击提交按钮从Form2上的文本框更新DataGridView。

在此先感谢。

+0

为什么不能他们编辑的文本*在*的DGV?如果有像DateTime这样的数据类型,DGV将验证编辑,但文本框不会。 – Plutonix

+0

正如你所提到的,这是因为DateTime中的“文本框被屏蔽了DateTime,因为如果有人在datagridview中输入了错误的dateTime,就会出现错误,并且普通用户可能不会理解这一点。 – Octo

+0

屏蔽的编辑控件将会没有执行有效的日期,你可以用同样的方法控制DGV中日期列的格式* plus *它只允许有效的日期,并且你可以(应该)处理这些错误 – Plutonix

回答

1

在按钮点击处理程序只是扭转你已经做了什么。你不会有一个e.RowIndex值,但假设这是在DataGridView的当前行你可以做

Dim rowIndex = DataDataGridView.CurrentRow.Index 
DataDataGridView.Rows(rowIndex).Cells(0).Value = Form2.TextBox1.Text 
.... 

或更容易

DataDataGridView.CurrentRow.Cells(0).Value = Form2.TextBox1.Text 
.... 
+0

谢谢! – Octo