没有空格的 field name 过滤正常,但是中间有空格时,例如:FieldNameStr = "Test Name";
ValStr = "abc";DataTable1.DefaultView.RowFilter = FieldNameStr + " like " + @"'" + ValStr + @"'";老是提示什么 "Missing operand after 'Name' operator" 的错误。加双引号改成
DataTable1.DefaultView.RowFilter = @"""" + FieldNameStr + @"""" + " like " + @"'" + ValStr + @"'";
还是出错。改成
DataTable1.DefaultView.RowFilter = @"'" + FieldNameStr + @"'" + " like " + @"'" + ValStr + @"'";
却没有过滤效果。
请高人指点,谢谢先!

解决方案 »

  1.   

    没有空格的  field  name  过滤正常,但是中间有空格时,例如:  
     
    FieldNameStr  =  "Test  Name";  
    ValStr  =  "abc";  
     
    DataTable1.DefaultView.RowFilter  =  FieldNameStr  +  "  like  "  +  @"'%"  +  ValStr  +  @"%'";  
     
    老是提示什么  "Missing  operand  after  'Name'  operator"  的错误。加双引号改成  
    DataTable1.DefaultView.RowFilter  =  @""""  +  FieldNameStr  +  @""""  +  "  like  "  +  @"'%"  +  ValStr  +  @"%'";  
    还是出错。  
     
    改成  
    DataTable1.DefaultView.RowFilter  =  @"'"  +  FieldNameStr  +  @"'"  +  "  like  "  +  @"'%"  +  ValStr  +  @"%'";  
    却没有过滤效果。  
     
     
    请高人指点,谢谢先! 
    上一贴漏写 % 号了。
      

  2.   

    把这句FieldNameStr  =  "Test  Name";  
    改成 FieldNameStr  =  "[Test  Name]";  
    可以ok了