问题是这样的:
这是父节点: public void treeview1_parentNode(TreeView TrView1)
{
//根节点查询字符串
string str_first = "select Name,Id from SWModules order by Name";
DataRow[] arry_first = newNodes(str_first, conn); TreeNode tsNode = new TreeNode();
TrView1.BeginUpdate();
TrView1.Nodes.Clear();
for (int i = 0; i < arry_first.Length; i++)
{
JudNode jnode = new JudNode(arry_first[i].ItemArray[0].ToString() + "#" + arry_first[i].ItemArray[1].ToString() + "#");
TrView1.Nodes.Add(jnode);
TrView1.Nodes[i].Tag = "X";
TrView1.Nodes[i].Name = arry_first[i].ItemArray[1].ToString();
TrView1.Nodes[i].Text = arry_first[i].ItemArray[0].ToString();
TrView1.Nodes[i].ImageIndex = 0;
}
TrView1.EndUpdate();
}
这是子节点:
public void treeview1_ChildNode(TreeNode tnc)
{
string SWMName = tnc.Text;
string str_second = "SELECT Functionalities.Name, Id from Functionalities where Functionalities.SWModuleId=(select SWModules.Id from SWModules where SWModules.Name='" + SWMName + "') ORDER BY Functionalities.Name;";
DataRow[] arry_second = newNodes(str_second, conn); for (int j = 0; j < arry_second.Length; j++)
{
TreeNode tn = new TreeNode();
tn.Nodes.Add(arry_second[j].ItemArray[0].ToString() + "#" + arry_second[j].ItemArray[1].ToString() + "#");
tn.Nodes[j].Tag = "XX";
tn.Nodes[j].Text = arry_second[j].ItemArray[0].ToString();
tn.Nodes[j].Name = arry_second[j].ItemArray[1].ToString();
tn.Nodes[j].ImageIndex = 1; tnc.Nodes.Add(tn); }
}这是窗体加载事件:
private void TestTreeView_Load(object sender, EventArgs e)
{ treeview1_parentNode(TrView1);
}
这是节点展开事件:
private void TrView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
string nName= e.Node.Text;
treeview1_ChildNode(TrView1.Nodes);
}
现在问题是节点展开事件的方法不执行,求高手解答?
这是父节点: public void treeview1_parentNode(TreeView TrView1)
{
//根节点查询字符串
string str_first = "select Name,Id from SWModules order by Name";
DataRow[] arry_first = newNodes(str_first, conn); TreeNode tsNode = new TreeNode();
TrView1.BeginUpdate();
TrView1.Nodes.Clear();
for (int i = 0; i < arry_first.Length; i++)
{
JudNode jnode = new JudNode(arry_first[i].ItemArray[0].ToString() + "#" + arry_first[i].ItemArray[1].ToString() + "#");
TrView1.Nodes.Add(jnode);
TrView1.Nodes[i].Tag = "X";
TrView1.Nodes[i].Name = arry_first[i].ItemArray[1].ToString();
TrView1.Nodes[i].Text = arry_first[i].ItemArray[0].ToString();
TrView1.Nodes[i].ImageIndex = 0;
}
TrView1.EndUpdate();
}
这是子节点:
public void treeview1_ChildNode(TreeNode tnc)
{
string SWMName = tnc.Text;
string str_second = "SELECT Functionalities.Name, Id from Functionalities where Functionalities.SWModuleId=(select SWModules.Id from SWModules where SWModules.Name='" + SWMName + "') ORDER BY Functionalities.Name;";
DataRow[] arry_second = newNodes(str_second, conn); for (int j = 0; j < arry_second.Length; j++)
{
TreeNode tn = new TreeNode();
tn.Nodes.Add(arry_second[j].ItemArray[0].ToString() + "#" + arry_second[j].ItemArray[1].ToString() + "#");
tn.Nodes[j].Tag = "XX";
tn.Nodes[j].Text = arry_second[j].ItemArray[0].ToString();
tn.Nodes[j].Name = arry_second[j].ItemArray[1].ToString();
tn.Nodes[j].ImageIndex = 1; tnc.Nodes.Add(tn); }
}这是窗体加载事件:
private void TestTreeView_Load(object sender, EventArgs e)
{ treeview1_parentNode(TrView1);
}
这是节点展开事件:
private void TrView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
string nName= e.Node.Text;
treeview1_ChildNode(TrView1.Nodes);
}
现在问题是节点展开事件的方法不执行,求高手解答?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货