Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
598 views
in Technique[技术] by (71.8m points)

c# - How to filter datagridview across field name which has space character?

I have a datagridview in my winform. I fill it with sql query. I call the column names like that: enter image description here

This is my sql query:

SELECT SF.ID, SF.TARIH AS 'TAR?H', M.AD AS 'Mü?TER? ADI' FROM TABLE1 SF AND TABLE2 M

These column names have Turkish and space characters as you see. When i try to filter datagridview, i use this code:

(datagridview.DataSource as DataTable).DefaultView.RowFilter =
                string.Format("'Mü?TER? ADI' LIKE '%{0}%'", textbox.Text.ToUpper());

It doesn't work. If i call the column name in sql query like that M.AD AS 'MAD' and in code like that "MAD LIKE '%{0}%'" it works. But i need to call column name as 'Mü?TER? ADI'. How can i do that? Thx for any help.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

At last i found it. The filtering is similar to work with sql queries. If there is space characters only need to add '[' and ']' characters to column name. In my case, this works perfectly:

(datagridview.DataSource as DataTable).DefaultView.RowFilter =
                string.Format("[Mü?TER? ADI] LIKE '%{0}%'", textbox.Text.ToUpper());

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...