Select DevExpress GridView 上的整行取决于 TextBox 值
Select full row on a DevExpress GridView depending on TextBox value
如何根据 TextBox
值 select DevExpress
GridView
上的整行?
我尝试了以下代码,但它不起作用:
Dim rowHandle As Integer = GridView1.LocateByDisplayText(0, colC_Id, txtSelect.Text)
If rowHandle <> DevExpress.XtraGrid.GridControl.InvalidRowHandle Then
Dim row As System.Data.DataRow = GridView1.GetDataRow(GridView1.FocusedRowHandle)
row(0) = txtSelect.EditValue
End If
该代码不 select GridControl 中的一行。它对在 GridColumn colC_Id 的文本框中输入的文本进行区分大小写的搜索,如果找到匹配项,则将 GridControl 数据源的第二列(列索引 1)中的文本更新为在当前 select 编辑的行中输入文本。如果数据源中的字段已添加到 GridControl 的 GridColumn 集合中,则更新后的值将反映在 GridControl 中。
下面是一个例子,说明如何在 GridControl 的数据源是 DataTable 的情况下,如何根据特定值 select GridControl 中的一行:
Dim myDataTable As DataTable = DirectCast(GridControl1.DataSource, DataTable)
Dim sFieldName As String = colC_Id.FieldName
Dim sColumnName As String = colC_Id.Name
Dim myDataRows As DataRow() = myDataTable.Select(sFieldName & "='" & TextBox1.Text.Replace("'", "''") & "'")
If myDataRows.Length > 0 Then
Dim iDataSourceRowIndex As Int32 = myDataTable.IndexOf(myDataRows(0))
GridView1.FocusedRowHandle = GridView1.GetRowHandle(iDataSourceRowIndex)
Else
MessageBox.Show("The text '" & TextBox1.Text & "' was not found in column '" & sColumnName &"'")
End If
如何根据 TextBox
值 select DevExpress
GridView
上的整行?
我尝试了以下代码,但它不起作用:
Dim rowHandle As Integer = GridView1.LocateByDisplayText(0, colC_Id, txtSelect.Text)
If rowHandle <> DevExpress.XtraGrid.GridControl.InvalidRowHandle Then
Dim row As System.Data.DataRow = GridView1.GetDataRow(GridView1.FocusedRowHandle)
row(0) = txtSelect.EditValue
End If
该代码不 select GridControl 中的一行。它对在 GridColumn colC_Id 的文本框中输入的文本进行区分大小写的搜索,如果找到匹配项,则将 GridControl 数据源的第二列(列索引 1)中的文本更新为在当前 select 编辑的行中输入文本。如果数据源中的字段已添加到 GridControl 的 GridColumn 集合中,则更新后的值将反映在 GridControl 中。
下面是一个例子,说明如何在 GridControl 的数据源是 DataTable 的情况下,如何根据特定值 select GridControl 中的一行:
Dim myDataTable As DataTable = DirectCast(GridControl1.DataSource, DataTable)
Dim sFieldName As String = colC_Id.FieldName
Dim sColumnName As String = colC_Id.Name
Dim myDataRows As DataRow() = myDataTable.Select(sFieldName & "='" & TextBox1.Text.Replace("'", "''") & "'")
If myDataRows.Length > 0 Then
Dim iDataSourceRowIndex As Int32 = myDataTable.IndexOf(myDataRows(0))
GridView1.FocusedRowHandle = GridView1.GetRowHandle(iDataSourceRowIndex)
Else
MessageBox.Show("The text '" & TextBox1.Text & "' was not found in column '" & sColumnName &"'")
End If