6

我有一个数据网格,它的数据源是一个数据视图。有一个文本框,用户可以使用该文本框输入过滤器文本。我想让过滤器不区分大小写。比如说,输入的文本是“Tg”

我试过这个

Mydataview.RowFilter = "UPPER(COL) LIKE '%TG%'"

但这给了我一个无效操作异常

然后我把它改成

Mydataview.RowFilter = "COL LIKE '%tg%' or COL LIKE '%TG%'"

这有效,但并不涵盖所有情况。例如,如果一行是“Tg”,它将被过滤掉,这是不可取的。我想要的是,当用户键入“Tg”时,它将匹配任何带有 tg、Tg、TG、tG 的数据,所有组合

谢谢

4

2 回答 2

12

RowFilter服从数据集CaseSensitive

因此,请在您的 Form_Load 方法中执行此操作:

CaseSensitiveFalse默认设置为

mydataset.CaseSensitive = false

概念证明:

在此处输入图像描述

于 2012-10-16T16:25:34.207 回答
-1

选择名称两次,其中一个为大写(名称)作为查找器,然后使用该列(不可见)过滤您的行

于 2017-03-01T20:34:09.523 回答