public partial class DepartManger : DevComponents.DotNetBar.Office2007Form我在窗体左边放置一个treeview 用来显示部门。但是当加载部门信息后。treeview却没有全部打开子节点 private void CreateTree()
{
//this.lidepartment.Items.Clear();
this.tvDepartMent.Nodes.Clear();
DataSet ds = new DataSet();
ds = dmo.SelectDepartMsg();
if (ds != null)
{
data = ds.Tables[0];
}
else { return; }
dv = data.DefaultView;
dv.Sort = "parentID asc";
DataRowView[] arrDRV = dv.FindRows(0);
if (arrDRV.Length == 0) return;
TreeNode tnNew = null;
this.tvDepartMent.Nodes.Add("sss");
foreach (DataRowView drv in arrDRV)
{
tnNew = this.tvDepartMent.Nodes[0].Nodes.Add(drv.Row["DepartName"].ToString());
tnNew.Tag = drv.Row["DepartID"].ToString();
CreateTreeNode(ref tnNew);
}
this.tvDepartMent.SelectedNode = tvDepartMent.Nodes[0];
this.tvDepartMent.Nodes[0].ExpandAll();
}
private void CreateTreeNode(ref TreeNode tnParent)
{
DataRowView[] arrDRV = dv.FindRows(tnParent.Tag);
if (arrDRV.Length == 0) return;
TreeNode tnNew = null;
foreach (DataRowView drv in arrDRV)
{
tnNew = tnParent.Nodes.Add(drv.Row["DepartName"].ToString());
tnNew.Tag = drv.Row["DepartID"].ToString();
CreateTreeNode(ref tnNew);
}
}
这个是不是跟我窗体继承DevComponents.DotNetBar.Office2007Form 这个有关系。请问怎么解决?
{
//this.lidepartment.Items.Clear();
this.tvDepartMent.Nodes.Clear();
DataSet ds = new DataSet();
ds = dmo.SelectDepartMsg();
if (ds != null)
{
data = ds.Tables[0];
}
else { return; }
dv = data.DefaultView;
dv.Sort = "parentID asc";
DataRowView[] arrDRV = dv.FindRows(0);
if (arrDRV.Length == 0) return;
TreeNode tnNew = null;
this.tvDepartMent.Nodes.Add("sss");
foreach (DataRowView drv in arrDRV)
{
tnNew = this.tvDepartMent.Nodes[0].Nodes.Add(drv.Row["DepartName"].ToString());
tnNew.Tag = drv.Row["DepartID"].ToString();
CreateTreeNode(ref tnNew);
}
this.tvDepartMent.SelectedNode = tvDepartMent.Nodes[0];
this.tvDepartMent.Nodes[0].ExpandAll();
}
private void CreateTreeNode(ref TreeNode tnParent)
{
DataRowView[] arrDRV = dv.FindRows(tnParent.Tag);
if (arrDRV.Length == 0) return;
TreeNode tnNew = null;
foreach (DataRowView drv in arrDRV)
{
tnNew = tnParent.Nodes.Add(drv.Row["DepartName"].ToString());
tnNew.Tag = drv.Row["DepartID"].ToString();
CreateTreeNode(ref tnNew);
}
}
这个是不是跟我窗体继承DevComponents.DotNetBar.Office2007Form 这个有关系。请问怎么解决?
{
tnNew = this.tvDepartMent.Nodes[0].Nodes.Add(drv.Row["DepartName"].ToString());
tnNew.Tag = drv.Row["DepartID"].ToString();
CreateTreeNode(ref tnNew);
tnNew.expand();
}
让每个节点展开