c#winform单表生树
来源:互联网 发布:杀手5优化 编辑:程序博客网 时间:2024/06/16 19:50
private void 选项卡_Selected(object sender, TabControlEventArgs e) { if (e.TabPage.Text == "配置") { // TODO: 这行代码将数据加载到表“浩瀚个人珍藏数据源.人员名称”中。您可以根据需要移动或删除它。 this.人员名称TableAdapter.Fill(this.浩瀚个人珍藏数据源.人员名称); DataTable 人员名称表 = 浩瀚个人珍藏数据源.人员名称; //DataSet aa = 浩瀚个人珍藏数据源; DataTable 归属 = 人员名称表.DefaultView.ToTable(true, "归属"); foreach (DataRow 数据列 in 归属.Rows)//根 { object[] 读列 = 数据列.ItemArray; 人员树.Nodes.Add(读列[0].ToString()); } for (int 节 = 0; 节 < 人员树.Nodes.Count; 节++) { int 二节 = 0; foreach (DataRow 数据列 in 人员名称表.Rows) { object[] 读列 = 数据列.ItemArray; if (读列[4].ToString() == 人员树.Nodes[节].Text) { 人员树.Nodes[节].Nodes.Add(读列[0].ToString());//第一节 人员树.Nodes[节].Nodes[二节].Nodes.Add(读列[1].ToString());//第二节 二节++; } } } } if (e.TabPage.Text == "农历") { //动画播放1.LoadMovie(0, Application.StartupPath + "\\万年历-1.swf"); 动画播放1.Movie = Application.StartupPath + "\\万年历-1.swf"; } }写代码其实是很灵活的,知道自己写的不好,也是在不断写中不断增进。。。。。。以上代码也可以这么写: if (e.TabPage.Text == "配置") { this.人员名称TableAdapter.Fill(this.浩瀚个人珍藏数据源.人员名称); DataTable 人员名称表 = 浩瀚个人珍藏数据源.人员名称; int 节 = 0, 二节 = 0; foreach (DataRow 数据列 in 人员名称表.Rows) { object[] 读列 = 数据列.ItemArray; if (人员树.Nodes.Count == 0) { 人员树.Nodes.Add(读列[4].ToString()); } if (人员树.Nodes.Count > 0) { if (读列[4].ToString() != 人员树.Nodes[节].Text) { 人员树.Nodes.Add(读列[4].ToString()); 节++; 二节 = 0; } if (读列[4].ToString() == 人员树.Nodes[节].Text) { 人员树.Nodes[节].Nodes.Add(读列[0].ToString()); 人员树.Nodes[节].Nodes[二节].Nodes.Add(读列[1].ToString()); 二节++; } } } }运行效果与上面一样。