2016-09-06 61 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