如何跨具有空格字符的字段名称过滤datagridview? [英] How to filter datagridview across field name which has space character?
问题描述
我的 winform 中有一个 datagridview.我用sql查询填充它.我这样称呼列名:
I have a datagridview in my winform. I fill it with sql query. I call the column names like that:
这是我的 sql 查询:
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
如您所见,这些列名称具有土耳其语和空格字符.当我尝试过滤 datagridview 时,我使用以下代码:
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());
它不起作用.如果我在 sql 查询中调用列名,例如 M.AD AS 'MAD'
和类似 "MAD LIKE '%{0}%'"
的代码,它可以工作.但我需要将列名称称为 'MÜŞTERİ ADI'
.我怎样才能做到这一点?感谢您的帮助.
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.
推荐答案
我终于找到了.过滤类似于使用 sql 查询.如果有空格字符只需要在列名中添加'['和']'字符即可.就我而言,这非常有效:
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());
这篇关于如何跨具有空格字符的字段名称过滤datagridview?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!