我为treeview控件动态填充子节点以后,希望点击填充的子节点能跳到制定页面,但是运行后不能点击子节点,不知道应该怎么设置填充的子节点的哪个属性,希望指点。
代码如下
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{ if (TreeView1.SelectedNode.Text == "省总项目单文档")
{
Server.Transfer("ShowDocByTree.aspx?ViewDoc='省总项目'");
}
if (TreeView1.SelectedNode.Depth == 3)
{
string DocID = TreeView1.SelectedNode.Value;
//Server.Transfer("ShowaProject.aspx?DocID=" + Convert.ToString(DocID));
TreeView1.SelectedNode.NavigateUrl = "ShowaProject.aspx?DocID=" + Convert.ToString(DocID);
}
}
protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
if (e.Node.Text == "省总项目单文档")
{
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
string SelectID = "select ID, DocName from tb_DocInformation where ProjStyle='省总项目'";
SqlCommand cmd = new SqlCommand(SelectID,conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
TreeNode NewNode = new TreeNode();
NewNode.Text = dr["DocName"].ToString();
NewNode.Value = dr["ID"].ToString();
NewNode.PopulateOnDemand = false;
NewNode.SelectAction = TreeNodeSelectAction.None;
e.Node.ChildNodes.Add(NewNode);
}
}
dr.Close();
//Server.Transfer("ShowDocByTree.aspx?ViewDoc='省总项目'");
}
if (e.Node.Text == "市总项目单文档")
{
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
string SelectID = "select DocName from tb_DocInformation where ProjStyle='市总项目'";
SqlCommand cmd = new SqlCommand(SelectID, conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
TreeNode NewNode = new TreeNode();
NewNode.Text = dr[0].ToString();
NewNode.PopulateOnDemand = false;
NewNode.SelectAction = TreeNodeSelectAction.None;
e.Node.ChildNodes.Add(NewNode);
}
}
dr.Close();
}
}
代码如下
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{ if (TreeView1.SelectedNode.Text == "省总项目单文档")
{
Server.Transfer("ShowDocByTree.aspx?ViewDoc='省总项目'");
}
if (TreeView1.SelectedNode.Depth == 3)
{
string DocID = TreeView1.SelectedNode.Value;
//Server.Transfer("ShowaProject.aspx?DocID=" + Convert.ToString(DocID));
TreeView1.SelectedNode.NavigateUrl = "ShowaProject.aspx?DocID=" + Convert.ToString(DocID);
}
}
protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
if (e.Node.Text == "省总项目单文档")
{
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
string SelectID = "select ID, DocName from tb_DocInformation where ProjStyle='省总项目'";
SqlCommand cmd = new SqlCommand(SelectID,conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
TreeNode NewNode = new TreeNode();
NewNode.Text = dr["DocName"].ToString();
NewNode.Value = dr["ID"].ToString();
NewNode.PopulateOnDemand = false;
NewNode.SelectAction = TreeNodeSelectAction.None;
e.Node.ChildNodes.Add(NewNode);
}
}
dr.Close();
//Server.Transfer("ShowDocByTree.aspx?ViewDoc='省总项目'");
}
if (e.Node.Text == "市总项目单文档")
{
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
string SelectID = "select DocName from tb_DocInformation where ProjStyle='市总项目'";
SqlCommand cmd = new SqlCommand(SelectID, conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
TreeNode NewNode = new TreeNode();
NewNode.Text = dr[0].ToString();
NewNode.PopulateOnDemand = false;
NewNode.SelectAction = TreeNodeSelectAction.None;
e.Node.ChildNodes.Add(NewNode);
}
}
dr.Close();
}
}
{
TreeNode tn=this.treeView1.SelectedNode;
if(tn!=null)
{
//创建一个新的节点,名称来自文本框
TreeNode t=new TreeNode(this.textBox1.Text);//节点名称
//把新节点添加到当前你选中的节点下,作为该节点的子节点
tn.Nodes.Add(t);
}
}