读书人

DataView.RowFilter如何用呀

发布时间: 2012-07-31 12:33:46 作者: rapoo

DataView.RowFilter怎么用呀
DataView dvTree = new DataView(ds.Tables[0]);
dvTree.RowFilter =(PName=ParentID);

PName是方法传传进来的参数
ParentID是变量,两个都是字符形,运行时提示

筛选表达式“1”的计算结果不是布尔值项。
各位帮我看看!!

C# code
public static void treeView增加内容(string id, string name, string PName,string table, TreeView tv)        {            using (SqlConnection cn = Conn.connMsSql())            {                cn.Open();                SqlCommand cmd = cn.CreateCommand();                cmd.CommandText = "select "+id+" ,"+name+" ,"+PName+" from "+table;               // cmd.Parameters.Add( new SqlParameter( "@id",id ));               // cmd.Parameters.Add(new SqlParameter("@name",name));              //  cmd.Parameters.Add(new SqlParameter("@PName", PName));                DataSet ds = new DataSet();                SqlDataAdapter da = new SqlDataAdapter(cmd);                da.Fill(ds);//得到DataSet                AddTree(null, (TreeNode)null,PName,ds,tv);            }                    }   static void AddTree(string ParentID, TreeNode pNode, string PName, DataSet ds, TreeView tv)        {                       TreeNode tn1 = new TreeNode();            DataView dvTree = new DataView(ds.Tables[0]);            dvTree.RowFilter =(PName=ParentID);            foreach (DataRowView Row in dvTree)            {                if (pNode == null)                {                    tn1.Text = Row[1].ToString();//row[1]表示name;                    tv.Nodes.Add(tn1);                    string id = Row[0].ToString();                    AddTree(id, tn1, PName, ds, tv);                }                else                {                    TreeNode tn2 = new TreeNode();                    tn2.Text = Row[1].ToString();                    pNode.Nodes.Add(tn2);                    string id = Row[0].ToString();                    AddTree(id, tn2, PName, ds, tv);    //再次递归                }                            }        }


[解决办法]
试试这样 dvTree.RowFilter = PName + "="+ ParentID;

读书人网 >C#

热点推荐