public void AddTree1(int AID, TreeNode pNode)
{
DataTable dt = new DataTable();
dt = AccessFactory.getDataTable(string.Format("select * from Anotomical "));
DataView dvTree = new DataView(dt);
foreach (DataRowView row in dvTree)
{
TreeNode node = new TreeNode();
node.Text = row["description"].ToString();
node.Name = row["description_en"].ToString();
BindSubTree1(Convert.ToInt32(row["aid"].ToString()), node);
this.treeView1.Nodes.Add(node);
}
}
private void BindSubTree1(int Aid, TreeNode PNode)
{
DataTable subdt = new DataTable();
subdt = AccessFactory.getDataTable(string.Format("select * from Pathological where aid='{0}' ", Aid));
if (subdt.Rows.Count != 0 && PNode != null)
{
foreach (DataRow dr in subdt.Rows)
{
TreeNode subNode = new TreeNode();
subNode.Text = dr["description"].ToString();
subNode.Name = dr["description_en"].ToString();
BindNextSbuTree1(Convert.ToInt32(dr["aid"]), Convert.ToInt32(dr["pid"]), subNode);
PNode.Nodes.Add(subNode);
}
}
}
private void BindNextSbuTree1(int aid, int pid, TreeNode pnode)
{
DataTable subdt = new DataTable();
subdt = AccessFactory.getDataTable(string.Format("select * from SubPathological where aid='{0}' and pid='{1}'", aid, pid));
if (subdt.Rows.Count != 0 && pnode != null)
{
foreach (DataRow dr in subdt.Rows)
{
TreeNode subnode = new TreeNode();
subnode.Text = dr["description"].ToString();
subnode.Name = dr["description_en"].ToString();
// subnode.Tag = dr["aid"].ToString();
subnode.Tag = dr["pid"].ToString();
pnode.Nodes.Add(subnode);
}
}
}这里是我加载的treeview控件,我现在想得到选中的节点的父节点aid和子节点pid,怎么获取
{
DataTable dt = new DataTable();
dt = AccessFactory.getDataTable(string.Format("select * from Anotomical "));
DataView dvTree = new DataView(dt);
foreach (DataRowView row in dvTree)
{
TreeNode node = new TreeNode();
node.Text = row["description"].ToString();
node.Name = row["description_en"].ToString();
BindSubTree1(Convert.ToInt32(row["aid"].ToString()), node);
this.treeView1.Nodes.Add(node);
}
}
private void BindSubTree1(int Aid, TreeNode PNode)
{
DataTable subdt = new DataTable();
subdt = AccessFactory.getDataTable(string.Format("select * from Pathological where aid='{0}' ", Aid));
if (subdt.Rows.Count != 0 && PNode != null)
{
foreach (DataRow dr in subdt.Rows)
{
TreeNode subNode = new TreeNode();
subNode.Text = dr["description"].ToString();
subNode.Name = dr["description_en"].ToString();
BindNextSbuTree1(Convert.ToInt32(dr["aid"]), Convert.ToInt32(dr["pid"]), subNode);
PNode.Nodes.Add(subNode);
}
}
}
private void BindNextSbuTree1(int aid, int pid, TreeNode pnode)
{
DataTable subdt = new DataTable();
subdt = AccessFactory.getDataTable(string.Format("select * from SubPathological where aid='{0}' and pid='{1}'", aid, pid));
if (subdt.Rows.Count != 0 && pnode != null)
{
foreach (DataRow dr in subdt.Rows)
{
TreeNode subnode = new TreeNode();
subnode.Text = dr["description"].ToString();
subnode.Name = dr["description_en"].ToString();
// subnode.Tag = dr["aid"].ToString();
subnode.Tag = dr["pid"].ToString();
pnode.Nodes.Add(subnode);
}
}
}这里是我加载的treeview控件,我现在想得到选中的节点的父节点aid和子节点pid,怎么获取
你把这句留下就可以了
父节点id=treeView1.SelectedNode.Parent.aid
选中某个node的时候
TreeNode node = treeView1.SelectedNode;
DataRow dr = node.Tag as DataRow;
string aid =string.Empty();
string pid = string.Empty();
if( node.Parent!=null) //说明是子节点
{
aid = dr["aid"].ToString();
pid = dr["pid"].ToString();
}
else //根节点
{
aid=dr["aid"].ToString();
}