江湖救急!兄弟们帮帮忙,关于DataView.RowFilter过滤问题!50分int iLength = 0;
iLength = 5 * pLevel;
StringBuilder sb = new StringBuilder("Left[[PID],");
sb.Append( iLength );
sb.Append("]=");
sb.Append(parentID);dvTree.RowFilter = sb.ToString();取PID的前几位是否和parentID相等进行过滤,dvTree为DataView

解决方案 »

  1.   

    dv.RowFilter = "SubString([PID],iLength ='" + parentID +"'";
      

  2.   

    在rowfilter中不可以用left的,可以用substring代替
    另外索引是从1开始,vba的语法,而不是c#的0开始
      

  3.   

    是不是错了,iLength 是变量,
      

  4.   

    大哥,不对
    string str = "SubString([PID],"+iLength +")='" + parentID +"'";
    dvTree.RowFilter = "SubString([PID],"+iLength+") ='" + parentID +"'";跟踪到str="SubString([PID],5)='0004.'"结果提示出错:
    无效的参数数目: 函数 SubString()。 
    行 103: dvTree.RowFilter = "SubString([PID],"+iLength+") ='" + parentID +"'";
      

  5.   

    dvTree.RowFilter = "SubString([PID],1 ," + iLength + ") ='" + parentID +"'";
    少写了一个1 :)