【问题标题】:VB.NET: Edit DataGridView Row by TextboxVB.NET:通过文本框编辑 DataGridView 行
【发布时间】:2016-09-06 15:00:55
【问题描述】:

我是堆栈溢出的新手,如果我搞砸了,很抱歉。

到目前为止,基本上我所拥有的是在 Form1 上称为 DataDataGridView 的 DataGridView。单击其中一行时,它将每列中的行中的数据传递到 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。

提前致谢。

【问题讨论】:

  • 他们为什么不能编辑 in DGV 中的文本?如果存在 DateTime 等数据类型,DGV 将验证编辑,但文本框不会。
  • 这是因为你提到的 DateTime,“文本框被 DateTime 屏蔽了,因为如果有人在 datagridview 中输入了不正确的 dateTime 就会出现错误,一般用户可能无法理解这一点.
  • 屏蔽编辑控件不会强制执行有效日期。您可以控制 DGV 中日期列的格式,就像 plus 一样,它只允许有效日期。你也可以(应该)处理这些错误

标签: vb.net winforms datagridview textbox


【解决方案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 
....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 2013-01-31
    • 2012-07-25
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多