pri*_*nka 5 .net c# rowfilter custom-type
我正在开发datagridview过滤的应用程序.我正在使用dataview的RowFilter属性来过滤数据.我的数据库表包含int和varchar数据类型字段.我想在RowFilter属性中使用"LIKE"查询来过滤数据视图,但"LIKE"仅用于字符串数据类型而不用于int数据类型.所以我想将int数据类型字段转换为数据varchar类型,但我不想改变我的表结构.我只是希望仅针对我的过滤条件临时更改数据类型.
任何人都可以帮我解决这个问题吗?
string colname="ProductID";
string condition="111";
DataView dv = new DataView();
dv.Table = ds.Tables[0] ;
dv.RowFilter ="CAST ("+colname+" AS TEXT) LIKE '"+ condition+"%'" ;
Run Code Online (Sandbox Code Playgroud)
har*_*rpo 13
RowFilter由.NET执行,而不是SQL Server.它支持一组有限的表达式,这些表达式在Framework文档中有所描述.
http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx
您应该能够使用LIKE以及CONVERT,但与SQL服务器不同,它需要.NET类型.
dv.RowFilter ="CONVERT("+colname+", System.String) LIKE '"+ condition+"%'" ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9155 次 |
| 最近记录: |