C# WinForm TreeView 동적 바인딩 데이터베이스(예: 성, 시, 구 및 현)

3554 단어
얼마 전에 프로젝트를 할 때 TreeView를 사용했는데 한가할 때 TreeView의 성(省)과 시(市)와 현을 연결하는 방법을 정리하고 공부하고 싶은 블로거들에게 도움이 되었으면 합니다.제시: 성, 시, 현의 데이터베이스는 인터넷에서 자원이 매우 많은 것을 다운로드할 수 있다.잔말 말고 코드를...
데이터베이스에 연결하는 방법:
        /// 
        ///       
        /// 
        /// SqlCommand     (    , T-SQL  ,   。)
        ///           T-SQL   
        ///        SqlCommand          
        /// >         DataSet
		GetDataSet(CommandType commandType, string cmdText, params SqlParameter[] para)

구체적인 코드는 붙이지 않고 데이터 집합으로 되돌아간다.다음 코드는 TreeView에 대한 바인딩 작업입니다.
	private void BindTreeView()
        {
		TreeNode ProvinceNode, CityNode, DistrictNode;
        	DataSet ds = new DataSet();
        	DataTable table = new DataTable();
        	DataTable districtidTable = new DataTable();

		string sql = "select provinceid,provincename from s_province";
            	string citySql = "select cityid,cityname from s_city where provinceid=@provinceid";
            	string districtSql = "select districtid,districtname from s_district where cityid=@cityid";
            	ds = DbHelp.GetDataSet(CommandType.Text, sql, null);
            	for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            	{
                	ProvinceNode = new TreeNode(); //  【 】      
                	ProvinceNode.Text = ds.Tables[0].Rows[i]["provincename"].ToString(); //         
                	ProvinceNode.Tag = int.Parse(ds.Tables[0].Rows[i]["provinceid"].ToString()); //          
                	treeView1.Nodes.Add(ProvinceNode);  //           

                	SqlParameter[] parameters = { 
                        	new SqlParameter("@provinceid", SqlDbType.Int ,4) , 
                    	};
                	//        
                	parameters[0].Value = int.Parse(ds.Tables[0].Rows[i]["provinceid"].ToString());
                	table = DbHelp.GetDataSet(CommandType.Text, citySql, parameters).Tables[0];
                	for (int j = 0; j < table.Rows.Count; j++)
                	{
                    		CityNode = new TreeNode(); //  【  】    
                    		CityNode.Text = table.Rows[j]["cityname"].ToString(); //         

                    		CityNode.Tag = int.Parse(table.Rows[j]["cityid"].ToString());//          
                    		ProvinceNode.Nodes.Add(CityNode); //      ProvinceNode 


                    		SqlParameter[] district = { 
                            		new SqlParameter("@cityid", SqlDbType.Int ,4) , 
                        	};
                    	//        
                    	district[0].Value = int.Parse(table.Rows[j]["cityid"].ToString());
                    	districtidTable = DbHelp.GetDataSet(CommandType.Text, districtSql, district).Tables[0];
                    	for (int n = 0; n < districtidTable.Rows.Count; n++)
                    	{
                        	DistrictNode = new TreeNode(); //  【  】    
                        	DistrictNode.Text = districtidTable.Rows[n]["districtname"].ToString(); //         
                        	DistrictNode.Tag = int.Parse(districtidTable.Rows[n]["districtid"].ToString()); //          
                        	CityNode.Nodes.Add(DistrictNode); //       CityNode   
                    	}
                }
         }
}
오케이, 다 살았으면 그건...

좋은 웹페이지 즐겨찾기