您的位置:首页 > Web前端 > Node.js

自定义TreeNode属性

2008-09-18 15:22 141 查看
一、目的:自定义TreeNode属性,让控件可以存储更多属性。有利于开发

二、方法:

public class GroupTreeNode : TreeNode

{

private IPAddress ip;

private HostStatus status;

public HostStatus Status

{

set { status = value; }

get { return status; }

}

public IPAddress IP

{

set { ip = value; }

get { return ip; }

}

public GroupTreeNode()

: base()

{

}

public GroupTreeNode(string text, int imageIndex, int selectedImageIndex, IPAddress address)

: base(text, imageIndex, selectedImageIndex)

{

this.ip = address;

}

}

三、应用

Code

TreeNode rootNode;

TreeNode channelNode;

GroupTreeNode groupTreeNode;

string sql = "select sysname from sysconfig ";

CMySql mydb = new CMySql();

DataTable dt = new DataTable();

dt = mydb.SelectDt(sql);

foreach (DataRow row in dt.Rows)

{

foreach (DataColumn column in dt.Columns)

{

string mss = String.Format("{0}", row[column]);

rootNode = treeVideo_server.AddRoot(mss, null);

string sql2 = "select servername,ipaddress from serverconfig where sysname='" + mss + "'";

CMySql db2 = new CMySql();

DataTable dt2 = new DataTable();

dt2 = db2.SelectDt(sql2);

foreach (DataRow row2 in dt2.Rows)

{

string name = row2["servername"].ToString();

IPAddress ip = IPAddress.Parse(row2["ipaddress"].ToString());

groupTreeNode = treeVideo_server.AddGroup(name, rootNode, ip);//带有IP地址属性

string sql3 = "select channelname from channelconfig where servername='" + name + "'";

CMySql db3 = new CMySql();

DataTable dt3 = db3.SelectDt(sql3);

foreach (DataRow row3 in dt3.Rows)

{

foreach (DataColumn column3 in dt3.Columns)

{

string mss3 = String.Format("{0}", row3[column3]);

channelNode = treeVideo_server.AddChannel(mss3, groupTreeNode);

}

}

}

}
四、其他

循环访问 TreeView 控件的所有节点

private void PrintRecursive(TreeNode treeNode)
{
// Print the node.
System.Diagnostics.Debug.WriteLine(treeNode.Text);
MessageBox.Show(treeNode.Text);
// Print each node recursively.
foreach (TreeNode tn in treeNode.Nodes)
{
PrintRecursive(tn);
}
}
// Call the procedure using the TreeView.
private void CallRecursive(TreeView treeView)
{
// Print each node recursively.
TreeNodeCollection nodes = treeView.Nodes;
foreach (TreeNode n in nodes)
{
PrintRecursive(n);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: