foreach (DataRow row in ResultSet.Tables[0].Rows)
{
//动态创建子节点
TreeNode NewNode = new TreeNode(row["vPlanName"].ToString(), row["vPlanCode"].ToString());
NewNode.PopulateOnDemand = false;
NewNode.SelectAction = TreeNodeSelectAction.Select; //把子节点添加到根节点上去
node.ChildNodes.Add(NewNode);
//手动创建叶节点
TreeNode node1 = new TreeNode();
node1.Text = "自我评价";
node1.Value = row["vPlanCode"].ToString(); TreeNode node2 = new TreeNode();
node2.Text = "评价他人";
node2.Value = row["vPlanCode"].ToString();
//把叶节点添加到子节点上去
NewNode.ChildNodes.Add(node1);
NewNode.ChildNodes.Add(node2);
}protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
//获取当前选中的叶节点的 text
string type = TreeView1.SelectedNode.Text;
change(type);
} //根据选中的text 实现不同的业务
public void change(string type)
{
if (type == "自我评价")
{
}
if (type == "评价他人")
{
}
}
问题是 不管我点自我评价 还是评价他人 change()中只会触发 if (type == "自我评价") 而且是100%触发~~~ 是不是 selectnodechanged() 对 动态添加节点 和 手动添加节点 处理机制不一样
还是什么其他的问题··~~
大家帮忙看看~~~
{
//动态创建子节点
TreeNode NewNode = new TreeNode(row["vPlanName"].ToString(), row["vPlanCode"].ToString());
NewNode.PopulateOnDemand = false;
NewNode.SelectAction = TreeNodeSelectAction.Select; //把子节点添加到根节点上去
node.ChildNodes.Add(NewNode);
//手动创建叶节点
TreeNode node1 = new TreeNode();
node1.Text = "自我评价";
node1.Value = row["vPlanCode"].ToString(); TreeNode node2 = new TreeNode();
node2.Text = "评价他人";
node2.Value = row["vPlanCode"].ToString();
//把叶节点添加到子节点上去
NewNode.ChildNodes.Add(node1);
NewNode.ChildNodes.Add(node2);
}protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
//获取当前选中的叶节点的 text
string type = TreeView1.SelectedNode.Text;
change(type);
} //根据选中的text 实现不同的业务
public void change(string type)
{
if (type == "自我评价")
{
}
if (type == "评价他人")
{
}
}
问题是 不管我点自我评价 还是评价他人 change()中只会触发 if (type == "自我评价") 而且是100%触发~~~ 是不是 selectnodechanged() 对 动态添加节点 和 手动添加节点 处理机制不一样
还是什么其他的问题··~~
大家帮忙看看~~~
断点找一下
if (node == null || node.Tag == null) return;获取当前的节点,然后进行操作
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
//获取当前选中的叶节点的 text
string type=e.Node.Text;
change(type);
}
有这个事件是可以的,我试过了
我的treeview里好想没有 treeView1_NodeMouseClick事件
TreeView1.SelectedNode.Text;
treeview 有selectedvalue这个属性么
有selectedvalue属性~~ 但是真没找到treeView1_NodeMouseClick方法~
C/S 的才会有treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
treeView1.SelectedNode.Text取值
而且要注意 Tag 值的问题,Value 和 Tag 是不一样的
是B/S~
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
//获取当前选中的叶节点的 text
string type = TreeView1.SelectedNode.Text;
change(type);
} 我这样还是取不到值~~~~
我没有用到 tag
都是取的 text ··
{
//动态创建子节点
TreeNode NewNode = new TreeNode(row["vPlanName"].ToString(), row["vPlanCode"].ToString());
NewNode.PopulateOnDemand = false;
NewNode.SelectAction = TreeNodeSelectAction.Select; //把子节点添加到根节点上去
node.ChildNodes.Add(NewNode);
//手动创建叶节点
TreeNode node1 = new TreeNode();
node1.Text = "自我评价";
node1.Value = row["vPlanCode"].ToString(); TreeNode node2 = new TreeNode();
node2.Text = "评价他人";
node2.Value = row["vPlanCode"].ToString();
//把叶节点添加到子节点上去
NewNode.ChildNodes.Add(node1);
NewNode.ChildNodes.Add(node2);
}