请检查附件图像。我想在用户输入数量后按Enter键在datagrid中添加标记数据。 datagrid是数据绑定的。
我尝试了以下代码
将bsData作为新的BindingSource
将dtr作为新数据表
dtr.Columns.Add(New DataColumn() With {.ColumnName = "hiddenid", .DataType = GetType(Integer),
.AutoIncrement = False, .AutoIncrementSeed = False})
dtr.Columns("hiddenid").ColumnMapping = MappingType.Hidden
dtr.Columns.Add(New DataColumn() With {.ColumnName = "autonumber", .DataType = GetType(String)})
dtr.Columns.Add(New DataColumn() With {.ColumnName = "location", .DataType = GetType(String)})
dtr.Columns.Add(New DataColumn() With {.ColumnName = "date", .DataType = GetType(String)})
1 bsData.DataSource = dtr
2 NDRDataGridView.DataSource = bsData
如果e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return)然后
If Not String.IsNullOrWhiteSpace(HiddenidTextBox.Text) Then
CType(bsData.DataSource, DataTable).Rows.Add(New Object() {Nothing, AutonumberTextBox1.Text, LocationTextBox.Text, DateTextBox1.Text})
bsData.MoveLast()
End If
End If
如果我将其与一个表一起使用,此代码可以正常工作......就像我将其与文本框一起使用并按Enter一样,它将文本框的值添加到datagrid
但是当我将其与关系表一起使用时,它会隐藏FK表的数据,但是如果我删除第1行和第2行(在代码中提到)
然后我可以看到FK数据。