这句是什么意思 TreeNode NewNode=new TreeNode(row["ProductName"].ToString());
新建一个TreeView的 Node节点,节点的Text属性为row["ProductName"].ToString()的值,默认情况下,Value属性的值等于Text的值..
如果想设置Node的Value值,可以加上
NewNode.Vlaue="value";
解释一下 “编辑TreeNode数据绑定...”中#InnerText等参数的意思
TargetFiled是设定TreeView节点的超级链接的Target属性,通常在页面中使用了FrameSet或Iframe的时候用target来指点地址在哪个框架中显示。
valueFiled是这个节点对应的值。
#InnerText、#Name、#Value是对应XML节点的标签的不同部分的内容,如果当前node对应的节点是下面的XML片段的话
<Channel name="娱乐" >
<Title name="电影">
</Title>
<Title name="音乐">
</Title>
</Channel>
InnerText 指的是:
<Title name="电影">
</Title>
<Title name="音乐">
</Title>
name指的就是节点的名字:Channel
value没搞明白
TreeNode 子节点的点击事件
private string target = "";
private string Url = "";
protected void Page_Load(object sender, EventArgs e)
{
string path = System.IO.Path.GetFileName(HttpContext.Current.Request.Path);
Server.Execute("FrmJudge.aspx");
//if (!Page.IsPostBack)
//{
this.lbNowTime.Text = "今天是:" + System.DateTime.Now.ToString("D") + " " + System.DateTime.Now.ToString("dddd");
this.bindTree();
//}
}
private void bindTree()
{
try
{
//根据角色生成权限树
SqlConnection con = cDataBaseLink.CreatConnection();
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
string RoleID = Session["RoleID"].ToString();
cmd.CommandText = "select A.*,B.RightParent,B.rightName from TabRoleRight as A,TabRights as B where A.roleid='" + RoleID + " ' and A.rightID=B.rightID and RightParent=''";
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
DataSet ds = new DataSet();
sda.Fill(ds, "parent");
int row = ds.Tables["parent"].Rows.Count;
for (int i = 0; i < row; i++)
{
getUrl(ds.Tables["parent"].Rows[i][0].ToString().Trim());
TreeNode tn = new TreeNode(ds.Tables["parent"].Rows[i][3].ToString(), ds.Tables["parent"].Rows[i][0].ToString(), "", Url, target);
this.TreeView1.Nodes.Add(tn);
cmd.CommandText = "select A.*,B.RightParent,B.rightName from TabRoleRight as A,TabRights as B where A.roleid='" + RoleID + "' and A.rightID=B.rightID and RightParent='" + ds.Tables["parent"].Rows[i][0].ToString() + "'";
sda.Dispose();
sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
DataSet sds = new DataSet();
sda.Fill(sds, "Child");
int count = sds.Tables["Child"].Rows.Count;
遍历查找treenode
//LastID上一级节点,这里就是2了,parentNodetreeview控件名
public void PopulateTreeView(int LastID, TreeNode parentNode)
{
//由上一级ID,查询当前级的知识点
DataView dv = dt.GetClass("select * from [你的表] where PID=" + LastID.ToString() + " order by ID").DefaultView;
foreach (DataRowView drv in dv) //循环获取当前级节点
{
TreeNode myNode = new TreeNode(drv["mc"].ToString()); //创建新实例
myNode.Value = drv["ID"].ToString(); //获取节点ID
myNode.Collapse(); //折叠节点
parentNode.ChildNodes.Add(myNode); //把节点信息加入到parentNode中
PopulateTreeView(Convert.ToInt32(drv["ID"].ToString()), myNode); //循环该方法,获取当前节点下的下一级节点
}
}
ps.
调用这个方法即可PopulateTreeView(2,treeview1);
其中dt.GetClass()是一个查询数据库返回DataTable的方法~
treeNode的Target 属性是什么意思啊?treeNode.Target = ""或者"I2"分别表示什么意思?
treeNode.Target = ""或者"I2"分别表示什么意思,你只要知道这两个都是把值赋给treeNode.Target就行.
treeNode看作一个物体,target是物体上的一个面,这个面有其特定的长宽高厚等,这个就是属性.
不知道我说的你懂了没.