treeview控件一些操作
TreeView 控件关键属性
TreeNode关键属性
TreeView 事件
使用 SelectedNodeChanged事件
按需装载节点
private void BindTree()
private void InitTree()
如何判断 TreeView 的一个节点下是否有子节点???
if(selNode.Nodes.Count==0){
//该节点没有字节点
}
如何得到 TreeView 的当前选择节点???
1.Tree.GetNodeFromIndex(Tree.SelectedNodeIndex.ToString())
2.private void TreeView1_SelectedIndexChange(object sender,
Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
e.NewNode即为所选节点
private void TreeView1_SelectedIndexChange(object sender,
Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
TreeNode NewNode=TreeView1.GetNodeFromIndex
(TreeView1.SelectedNodeIndex);
string strNodeId=NewNode.ID .ToString ();
SqlDataReader dr;
SqlCommand myCommand;
int intVOrderLen=strNodeId.Length+2;
string strSel = "select * from bas_enterprise where
len(vieworder)="+intVOrderLen+" and vieworder like '%"+strNodeId+"__%'
order by vieworder";
myCommand = new SqlCommand (strSel, myConnection);
dr=myCommand.ExecuteReader();
NewNode.Nodes .Clear();
while (dr.Read ())
{
TreeNode pNode=new TreeNode ();
pNode.Text =dr["EntpName"].ToString ();
pNode.ID =dr["ViewOrder"].ToString ();
NewNode.Nodes.Add (pNode);
}
dr.Close ();
在treeview中如何查找一个值,并选中它?
问题:
各位,在已经建好的树中如何查找一个文本或者是treenodes的id,找到后选中它?
答案:
for(int i=0;i<TreeView1.Nodes.Count;i++)
if(TreeView1.Nodes[i]==TextBox1.Text)
{
string index1=TreeView1.Nodes[i].GetNodeIndex();//取得index
TreeView1.SelectedNodeIndex=index1;
}
如何取得TreeView中各项的值??
private void TreeView1_SelectedIndexChange(object sender,
Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
Microsoft.Web.UI.WebControls.TreeNode
NewNode=TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex);
Label1.Text =NewNo
如果通过代码要在父结点中增加子节点,代码如何实现?
父节点代码如下:
TreeNode pNode = new TreeNode();
pNode.ID = "Root";
pNode.Text = strNodeName;
TreeView1.Nodes.Add(pNode);
如果要在根结点"Root"下面再增加子节点,如何写代码?
TreeView1.Nodes.AddAt(pNode);这种方式好象不行.
TreeView1.Nodes[0].Nodes.Add(pNewNode);
最近做的项目用到了微软的树控件,所以我总结了部分树控件的用法。
遍历节点
void GetAllNodeText(TreeNodeCollection tnc)
{
foreach(TreeNode node in tnc)
{
if(node.Nodes.Count!=0)
GetAllNodeText(node.Nodes);
Response.Write(node.Text + " ");
}
}
建树
private void CreateTree(TreeNodeCollection folderTreeNodeCollection , string parentID)
{
if (parentID=="")
{
dv.RowFilter= "ParentID is null";
}
else
{
dv.RowFilter= "ParentID="+"'"+parentID+"'";
}
foreach (DataRowView drv in dv)
{
TreeNode tn= new TreeNode();
tn.Expanded= true ;
tn.ID=drv.Row["TypeID"].ToString().Trim();
tn.Text=drv.Row["TypeName"].ToString().Trim();
folderTreeNodeCollection.Add(tn);
CreateTree(tn.Nodes,tn.ID);
}
}
遍历选中节点
private void getAllCheckedNode(TreeNodeCollection tnc)
{
foreach (TreeNode tn in tnc)
{
if (tn.Checked== true )
{
Response.Write(tn.Text+””);
}
if (tn.Nodes.Count>0)
{
getAllCheckedNode(tn.Nodes);
}
}
}
选中或取消选中节点 , 自动选中或取消选中期子节点
private void CheckedChildNode(TreeNode tn)
{
if (tn.Nodes.Count>0)
{
foreach (TreeNode tnn in tn.Nodes)
{
tnn.Checked=tn.Checked;
CheckedChildNode(tnn);
}
}
}
调用方法
private void TreeView1_Check( object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
{
setAllCheckedNode(TreeView1.GetNodeFromIndex(e.Node));
}
========================================
TreeView读取数据库结点
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using clsTreeViewName;
public partial class TreeNode读取数据库_TreeContral : System.Web.UI.UserControl
{
DataView dv = new DataView();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindTreeView();
TreeView1.ExpandDepth = 0;
Response.Write("fffffffff");
TreeView1.CollapseAll();
}
}
void BindTreeView()
{
string sql = "select * from DropDownList";
clsTreeViewName.clsTreeView ctv = new clsTreeView();
dv = ctv.selectDs(sql).Tables[0].DefaultView;
foreach (DataRowView i in dv)
{
if (i["fatherId"].ToString() == "0")
{
TreeNode tn = new TreeNode();
tn.Text = i["stateName"].ToString();
tn.Value = i["stateId"].ToString();
tn.NavigateUrl = i["url"].ToString();
TreeView1.Nodes.Add(tn);
CreateChildNode(tn);
}
}
}
void CreateChildNode(TreeNode t)
{
foreach (DataRowView i in dv)
{
if (i["fatherId"].ToString() == t.Value.ToString())
{
TreeNode tn2 = new TreeNode();
tn2.Text = i["stateName"].ToString();
tn2.Value = i["stateId"].ToString();
tn2.NavigateUrl = i["url"].ToString();
t.ChildNodes.Add(tn2);
CreateChildNode(tn2);
TreeView1.ShowLines = true;
}
}
}
浙公网安备 33010602011771号