树形结构的问题 用c#实现 动态加载树型结构,添加,修改,删除节点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20100727/20/6998f485-d40b-4ee3-99ea-e55a943ac43f.html private void treeView1_Data() { string str = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "/DB/Ventilator.mdb"; OleDbConnection cn = new OleDbConnection(str); cn.Open(); OleDbCommand cmd = cn.CreateCommand(); cmd.CommandText = "Select distinct Check_day from TestTotalinfo "; OleDbDataReader rd = cmd.ExecuteReader(); TreeNode node3 = new TreeNode(); node3.Text = "根据日期排序"; treeView1.Nodes.Add(node3); while (rd.Read()) { TreeNode node = new TreeNode(); node.Text = rd["Check_day"].ToString(); node3.Nodes.Add(node); node.ImageIndex = 0; node.SelectedImageIndex = 0; OleDbCommand cmd2 = cn.CreateCommand(); cmd2.CommandText = "Select distinct TestName from TestTotalinfo where Check_day='" + node.Text + "'"; OleDbDataReader rd2 = cmd2.ExecuteReader(); { while (rd2.Read()) { TreeNode node2 = new TreeNode(); node2.Text = rd2["TestName"].ToString(); node.Nodes.Add(node2); node2.ImageIndex = 2; node2.SelectedImageIndex = 2; int a = int.Parse(ud.getTestTotalinfo(node2.Text).Rows[0].ItemArray[12].ToString().Trim()); switch (a) { case 0: node2.Nodes.Add("", "试验的总体情况与测试方法", 4, 4); node2.Nodes.Add("", "条件选择", 4, 4); node2.Nodes.Add("", "数据采集", 4, 4); node2.Nodes.Add("", "性能测试报告", 4, 4); break; case 1: node2.Nodes.Add("", "试验的总体情况与测试方法", 3, 3); node2.Nodes.Add("", "条件选择", 4, 4); node2.Nodes.Add("", "数据采集", 4, 4); node2.Nodes.Add("", "性能测试报告", 4, 4); break; case 2: node2.Nodes.Add("", "试验的总体情况与测试方法", 3, 3); node2.Nodes.Add("", "条件选择", 3, 3); node2.Nodes.Add("", "数据采集", 4, 4); node2.Nodes.Add("", "性能测试报告", 4, 4); break; case 3: node2.Nodes.Add("", "试验的总体情况与测试方法", 3, 3); node2.Nodes.Add("", "条件选择", 3, 3); node2.Nodes.Add("", "数据采集", 3, 3); node2.Nodes.Add("", "性能测试报告", 4, 4); break; case 4: node2.Nodes.Add("", "试验的总体情况与测试方法", 3, 3); node2.Nodes.Add("", "条件选择", 3, 3); node2.Nodes.Add("", "数据采集", 3, 3); node2.Nodes.Add("", "性能测试报告", 3, 3); break; } } } } treeView1.Nodes[0].Expand();//展开根节点 } private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.Parent == null) { menuStrip.Items.Clear(); menuStrip.Items.Add(new ToolStripMenuItem("添加日期", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/80[2].png"), new EventHandler(add_date))); } else if (e.Node.Parent.Text == "根据日期排序") { menuStrip.Items.Clear(); menuStrip.Items.Add(new ToolStripMenuItem("删除", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/35[2].png"), new EventHandler(delete1_All))); menuStrip.Items.Add(new ToolStripMenuItem("添加记录", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/80[2].png"), new EventHandler(add1_Clicked))); } else if (e.Node.Parent.Text != "根据日期排序" && e.Node.Nodes.Count != 0) { menuStrip.Items.Clear(); menuStrip.Items.Add(new ToolStripMenuItem("删除任务", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/35[2].png"), new EventHandler(delete1_Clicked))); } else if (treeView1.SelectedNode.Nodes.Count == 0 && e.Node.Parent.Text != "根据日期排序") { menuStrip.Items.Clear(); menuStrip.Items.Add(new ToolStripMenuItem("打开", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/80[1].png"), new EventHandler(treeView1_DoubleClick))); } } private void delete1_Clicked(object sender, EventArgs e) { DialogResult result; result = MessageBox.Show("您确定要删除该记录吗", "友情提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == DialogResult.OK) { ud.DeleteData1(treeView1.SelectedNode.Text); treeView1.Nodes.Remove(treeView1.SelectedNode); } } winfrom窗体打开关闭问题 c# 热键 请教c# httpwebrequest 多线程问题 C# WebService UDP中的怪问题,在线等,急 [WinForm] 动态添加控件添加后,怎么知道选择的是哪个控件 使用皮肤控件后窗体界面闪烁 谁帮我把Oracle的查询语句转换成标准的SQL语句啊? socket发送字符串问题 装饰模式问题 在 System.ArgumentException 中第一次偶然出现的“System.Drawing.dll”类型的异常 学什么技术 C# 获取上下文菜单项文本
{
string str = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "/DB/Ventilator.mdb";
OleDbConnection cn = new OleDbConnection(str);
cn.Open();
OleDbCommand cmd = cn.CreateCommand();
cmd.CommandText = "Select distinct Check_day from TestTotalinfo ";
OleDbDataReader rd = cmd.ExecuteReader();
TreeNode node3 = new TreeNode();
node3.Text = "根据日期排序";
treeView1.Nodes.Add(node3);
while (rd.Read())
{
TreeNode node = new TreeNode();
node.Text = rd["Check_day"].ToString();
node3.Nodes.Add(node);
node.ImageIndex = 0;
node.SelectedImageIndex = 0;
OleDbCommand cmd2 = cn.CreateCommand();
cmd2.CommandText = "Select distinct TestName from TestTotalinfo where Check_day='" + node.Text + "'";
OleDbDataReader rd2 = cmd2.ExecuteReader();
{
while (rd2.Read())
{
TreeNode node2 = new TreeNode();
node2.Text = rd2["TestName"].ToString();
node.Nodes.Add(node2);
node2.ImageIndex = 2;
node2.SelectedImageIndex = 2;
int a = int.Parse(ud.getTestTotalinfo(node2.Text).Rows[0].ItemArray[12].ToString().Trim());
switch (a)
{
case 0:
node2.Nodes.Add("", "试验的总体情况与测试方法", 4, 4);
node2.Nodes.Add("", "条件选择", 4, 4);
node2.Nodes.Add("", "数据采集", 4, 4);
node2.Nodes.Add("", "性能测试报告", 4, 4);
break;
case 1:
node2.Nodes.Add("", "试验的总体情况与测试方法", 3, 3);
node2.Nodes.Add("", "条件选择", 4, 4);
node2.Nodes.Add("", "数据采集", 4, 4);
node2.Nodes.Add("", "性能测试报告", 4, 4);
break;
case 2:
node2.Nodes.Add("", "试验的总体情况与测试方法", 3, 3);
node2.Nodes.Add("", "条件选择", 3, 3);
node2.Nodes.Add("", "数据采集", 4, 4);
node2.Nodes.Add("", "性能测试报告", 4, 4);
break;
case 3:
node2.Nodes.Add("", "试验的总体情况与测试方法", 3, 3);
node2.Nodes.Add("", "条件选择", 3, 3);
node2.Nodes.Add("", "数据采集", 3, 3);
node2.Nodes.Add("", "性能测试报告", 4, 4);
break;
case 4:
node2.Nodes.Add("", "试验的总体情况与测试方法", 3, 3);
node2.Nodes.Add("", "条件选择", 3, 3);
node2.Nodes.Add("", "数据采集", 3, 3);
node2.Nodes.Add("", "性能测试报告", 3, 3);
break;
} }
}
}
treeView1.Nodes[0].Expand();//展开根节点 }
{
if (e.Node.Parent == null)
{
menuStrip.Items.Clear();
menuStrip.Items.Add(new ToolStripMenuItem("添加日期", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/80[2].png"), new EventHandler(add_date)));
}
else if (e.Node.Parent.Text == "根据日期排序")
{
menuStrip.Items.Clear();
menuStrip.Items.Add(new ToolStripMenuItem("删除", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/35[2].png"), new EventHandler(delete1_All)));
menuStrip.Items.Add(new ToolStripMenuItem("添加记录", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/80[2].png"), new EventHandler(add1_Clicked)));
}
else if (e.Node.Parent.Text != "根据日期排序" && e.Node.Nodes.Count != 0)
{
menuStrip.Items.Clear();
menuStrip.Items.Add(new ToolStripMenuItem("删除任务", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/35[2].png"), new EventHandler(delete1_Clicked))); }
else if (treeView1.SelectedNode.Nodes.Count == 0 && e.Node.Parent.Text != "根据日期排序")
{
menuStrip.Items.Clear();
menuStrip.Items.Add(new ToolStripMenuItem("打开", Image.FromFile(System.Windows.Forms.Application.StartupPath + "/img/80[1].png"), new EventHandler(treeView1_DoubleClick)));
} }
{
DialogResult result;
result = MessageBox.Show("您确定要删除该记录吗", "友情提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{ ud.DeleteData1(treeView1.SelectedNode.Text);
treeView1.Nodes.Remove(treeView1.SelectedNode); }
}