【问题标题】:Searching for special characters on a DataVew RowFilter在 DataView RowFilter 上搜索特殊字符
【发布时间】:2012-08-17 14:31:08
【问题描述】:

如何使用 RowFilter 搜索带有 & 号的字符串(或任何其他“特殊”字符。例如 !"£$%^&*())

当我尝试时收到以下错误:

Like 运算符错误:字符串模式 '%£(*$\&%' 无效

我的 RowFilter 的副本如下:

value="£(*$\&"; //I know this is rubbish, but I don't want the system to crash.

filterString = string.Format("Description LIKE '%{0}%'", value);

myDataView.RowFilter=filterString;

提前致谢。

我使用的是 C# 4.0

【问题讨论】:

标签: c# dataview rowfilter


【解决方案1】:

也许这个可以帮助..

CheckValue("fefe[][]12#");
CheckValue("abvds");
CheckValue("#");
CheckValue(@"[][][][][]\\\\\][]");
CheckValue("^^^efewfew[[]");

public static string CheckValue(string value)
{
    StringBuilder sBuilder = new StringBuilder(value);

    string pattern = @"([-\]\[<>\?\*\\\""/\|\~\(\)\#/=><+\%&\^\'])";

    Regex expression = new Regex(pattern);

    if (expression.IsMatch(value))
    {
        sBuilder.Replace(@"\", @"\\");
        sBuilder.Replace("]", @"\]");
        sBuilder.Insert(0, "[");
        sBuilder.Append("]");
    }
    return sBuilder.ToString();
}

同时检查http://www.csharp-examples.net/dataview-rowfilter/

【讨论】:

  • 不,一输入 &f 就崩溃了。
  • 别担心。您提供的链接有答案。谢谢
猜你喜欢
  • 1970-01-01
  • 2011-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多