Search code examples
c#sqlcase-insensitivedataviewrowfilter

How to set RowFilter case-insensitive for DataView


I have a datagrid, its datasource is a dataview. There is a textbox with which users can type in filter text. I want to make the filter to be case insensitive. say, the typed text is "Tg"

I tried this

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

but this gives me an invalidoperation exception

then I changed it to

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

This works but it does not cover all cases. E.g. If a row is "Tg", it will be filtered out which is not desirable. What I want, when users type "Tg", it will match any data with tg, Tg, TG, tG, all the combination

thanks


Solution

  • RowFilter obeys dataset CaseSensitive value

    So do this in your Form_Load method:

    CaseSensitive is set to False by default

    mydataset.CaseSensitive = false
    

    Proof of concept:

    enter image description here