vb.net - 如何在 devexpress vb.net 上按 ID 进行行过滤?
问题描述
我需要从我的数据库中过滤 LOTID 值,但我的 rowfilter 在 devexpress gridview 上不起作用。
数据库列名称为 LOTID ,LOTID 的行值示例为 L-S3FH2
我的代码如下:
Protected Sub ClipData()
.........
connx.Close()
'Dim RowLotID As String = DetailGridx.GetRowValues("LotID").ToString
Dim dv2 As DataView = New DataView(dt1)
'dv2.RowFilter = "LOTID = 'L-" + RowLotID + "'"
DetailGridx.DataSource = dv2
DetailGridx.DataBind()
End Sub
请指导我,在此先感谢。
解决方案
从文档中,ASPxGridView.GetRowValues()
重载应该是这样的:
Public Function GetRowValues(
ByVal visibleIndex As Integer,
ByVal fieldNames As String[]
) As Object
第一个参数是Integer
,因此当前的重载使用是错误的,因为您将字符串传递给visibleIndex
参数。
您应该使用可见索引EventArgs
作为第一个参数(VisibleIndex
属性值为 an Integer
)并在第二个参数中提及列名,如下所示:
Dim RowLotID As String = DetailGridx.GetRowValues(e.VisibleIndex, "LotID").ToString()
或使用IDKeyFieldName
中的属性ASPxGridView
:
Dim RowLotID As String = DetailGridx.GetRowValues(e.VisibleIndex, DetailGridx.KeyFieldName).ToString()
然后您可以对RowFilter
过滤字符串使用字符串格式:
Dim dv2 As DataView = New DataView(dt1)
dv2.RowFilter = String.Format("LOTID='{0}'", "L-" & RowLotID)
推荐阅读
- express - 我只想要一个快速 js 中的 parseurl
- node.js - Geeting 常用的预订时段 - Nodejs mogodb
- javascript - TypeScript - 获取泛型类参数的类型
- javascript - Sequelise:多对多表(CROSS TABLE)关联到其他表
- javascript - Express:来自 vue.js 的图像未重定向到后端
- c - 是否有可能像我们在 printf() 中一样在字符串中写入单词并同时使用 ate %s?
- gnuplot - Gnuplot:将 ytics 缩放到一定范围
- laravel - 如何使用惯性 js 和 spatie 媒体库获取图像
- python - 你能在解决问题或绕过这个问题之前对纸浆变量进行四舍五入吗?
- apache-flink - Apache Flink 水印策略