private void CreateTreeViewRecursive(TreeNodeCollection nodes, DataTable dataSource, int parentid)
        {
            string filter;
            filter = string.Format("Sort_ParentId={0}", parentid.ToString());
            DataRow[] drarr =dataSource.Select(filter);
            TreeNode node;
            foreach (DataRow dr in drarr)
            {
                node = new TreeNode();
                node.Text = (string)dr["Sort_Name"];
                node.Tag = (int)dr["Sort_Id"];
                nodes.Add(node);                CreateTreeViewRecursive(node.Nodes, dataSource, (int)node.Tag);
            }
        }这是增加TREEVIEW函数,但在PDA中DataRow[] drarr =dataSource.Select(filter);
这个地方会报错,报“无法在System.String和System.Int32上执行“=”操作”
但我在WINDOWS程序时候就不会报错啊,请大家帮助看下为什么,谢谢

解决方案 »

  1.   

    filter = string.Format("Sort_ParentId={0}", parentid.ToString()); 
    Sort_ParentId是Int32的?
      

  2.   

    不是啊,是VARCHAR形式的 Sort_ParentId nvarchar(30)
      

  3.   

    我在WINFORM里面也是这样写的就不会报错啊,但在PDA里面这里就会报错,不知道什么原因。
      

  4.   

    我在WINFORM里面也是这样写的就不会报错啊,但在PDA里面这里就会报错,不知道什么原因。
      

  5.   

    我知道怎么弄了,我遇见跟你一样的问题:
    修改如下:
    dv.RowFilter = "[FatherID]=" + parentID;
    改为:
        dv.RowFilter = "[FatherID]='" + parentID.ToString()+"'";