我的TREEVIEW有三层(如:“部门”展开是“资材课”,“资材课”展开是“人名”)
我现在就是要当用户双点“人名”时,就运行去数据库中找该人的相关信息的动作。怎么做?与TREEView控件事件有关?
另外我的树是在载入窗体后就建好了的。
有例子最好,在线等。解决就给分
我现在就是要当用户双点“人名”时,就运行去数据库中找该人的相关信息的动作。怎么做?与TREEView控件事件有关?
另外我的树是在载入窗体后就建好了的。
有例子最好,在线等。解决就给分
我做的是左边一个TreeView,右边一个listView或者其他的控件
private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)//节点选择的事件
{ //数据是通过数据库来绑定
DefaultNodeTitle=treeView1.SelectedNode.Text.ToString();//得到选择项的文字
//然后通过文字来获取相应的信息,然后进行相应的操作。
}
if (e.Node.Parent != null)
{
this.dataGrid1.DataSource = null;
dsUpdate.Clear();
ConditionCollection cc = new ConditionCollection();
cc.Add(new Condition("branchidP","=",(int)e.Node.Parent.Tag));
cc.Add(new Condition("useridP","=",(int)e.Node.Tag));
DataAccess.Query(dsUpdate,userView,cc,gb.Connection);
this.dataGrid1.DataSource = dsUpdate;
this.dataGrid1.DataMember = dsUpdate.Tables[0].TableName;
}
你是不是可以控制:点击以后判断是第几层,如果是第三层就执行动作,如果不是,则跳出。2。当是第三层,你需要得到当前层下面的所有子节点对不?这个可以,有个存储过程可以给你,得到某个节点下面所有子节点的数据,然后再递归给该节点加上子节点?不知道是否可以满足你的需求?
{
//find whether it is the third layer--user name
if (e.Node.Parent == null)
return;
if (e.Node.Parent.Parent == null)
return;//get the select user name
String stringUserName=treeView1.SelectedNode.Text.ToString();
//do your job like retrievel database}
{
if ((treeView1.SelectedNode.Parent!=null)&&(null!=treeView1.SelectedNode.Parent.Parent))
Console.WriteLine(treeView1.SelectedNode.Text);
}