文档详情

nettreeview绑定数据库源代码.doc

发布:2017-02-01约6.15千字共6页下载文档
文本预览下载声明
.net treeview绑定数据库源代码 private DataSet ds; private SqlDataAdapter sqlDataAdapter1; private int maxnodeid; private void Form1_Load(object sender, System.EventArgs e) { string strconn=ConfigurationSettings.AppSettings[ConnStr]; sqlConnection1 = new SqlConnection(strconn); this.sqlConnection1.Open(); //填充DataSet this.CreateDataSet(); //从数据库中读取数据,通过递归生成树。 InitTree(this.treeView1.Nodes,0); } private void CreateDataSet() { this.sqlDataAdapter1=new SqlDataAdapter(select * from s_menu ,this.sqlConnection1); this.ds=new DataSet(); this.sqlDataAdapter1.Fill(ds,tree); } private void InitTree(TreeNodeCollection Nds,string parentId) { DataView dv=new DataView(); TreeNode tmpNd; string intId; dv.Table=ds.Tables[tree]; dv.RowFilter=ParentId= + parentId + ; foreach(DataRowView drv in dv) { tmpNd=new TreeNode(); tmpNd.Tag=drv[NodeId].ToString(); tmpNd.Text=drv[NodeName].ToString(); Nds.Add(tmpNd); intId=drv[ParentId].ToString(); InitTree(tmpNd.Nodes,tmpNd.Tag.ToString()); } } //新增节点操作 private void insert(string type) {//判断是新增树节点,还是子节点. string strinsert=insert into s_menu values({0},{1},{2}); string strformat=; if(type==sub) strformat=string.Format(strinsert,maxnodeid.ToString(),this.selectnode.Tag.ToString(),this.strcomm); else strformat=string.Format(strinsert,maxnodeid.ToString(),0,this.strcomm); SqlCommand cmd=new SqlCommand(strformat,this.sqlConnection1); cmd.ExecuteNonQuery(); } //为新增节点算出最大的节点值,并以此值作为新增的节点ID值 private int GetMaxNodeid() { int pre=0,last=0; DataSet maxds=new DataSet(); this.sqlDataAdapter1=new SqlDataAdapter(select nodeid from s_menu order by nodeid,this.sqlConnection1); this.sqlDataAdapter1.Fill(maxds); for(int i=0;i{ if(i+1{ pre=int.Parse(maxds.Tables[0].Rows[i][0].ToString()); last=int.Parse(maxds.Tables[0].Rows[i+1][0].ToString()); if(last-pre!=1) return pre+1; } } return last+1; } private void getallnode(TreeNode tn) { foreach(TreeNode node in tn.Nodes) { list.Add(node.Tag.T
显示全部
相似文档