treeView 展开结点 treeView.ExpandAll();添加上面代码后,treeView还是没有展开,是怎么回事? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary> /// 初始树根节点 /// </summary> private void InitTreeView() { this.treeView.Nodes.Clear(); OTMS.SysModuleDataSetTableAdapters.TbModuleTableAdapter AD = new OTMS.SysModuleDataSetTableAdapters.TbModuleTableAdapter(); _dtblModule = AD.GetData(); DataRow[] drAry = _dtblModule.Select(_dtblModule.strParentModuleCodeColumn.ColumnName + "='0'"); TreeNode trn = new TreeNode(); trn.Text = drAry[0][_dtblModule.strModuleNameColumn.ColumnName].ToString(); trn.Name = drAry[0][_dtblModule.strModuleCodeColumn.ColumnName].ToString(); this.treeView.Nodes.Add(trn); CreateTreeView(trn, trn.Name); } 在 InitTreeView() 方法后面加 treeView.ExpandAll(); 看看. /// <summary> /// 构建树 /// </summary> /// <param name="trn">树节点</param> /// <param name="strParentNodeCode">父节点编码</param> private void CreateTreeView(TreeNode trn, string strParentNodeCode) { DataRow[] drAry = _dtblModule.Select(_dtblModule.strParentModuleCodeColumn.ColumnName + "='" + strParentNodeCode + "'"); for (int nIndex = 0; nIndex < drAry.Length; nIndex++) { //“公共”模块不参与权限控制 if ("权限控制" == drAry[nIndex][_dtblModule.strMduCommonColumn.ColumnName].ToString()) { OTMS.VwRolePowerDataSetTableAdapters.QueriesTableAdapter bs = new OTMS.VwRolePowerDataSetTableAdapters.QueriesTableAdapter(); object obj = bs.GetRolePowerCount(drAry[nIndex][_dtblModule.strModuleCodeColumn.ColumnName].ToString(), base.RoleCode.ToString()); ////如果此角色拥有该模块的功能数为0,则不显示此菜单 //object obj = new perVwRolePowerTableAdapter().GetRolePowerCount(drAry[nIndex][_dtblModule.strModuleCodeColumn.ColumnName].ToString(), base.UserRoleCode); if (0 == Convert.ToInt32(obj)) { continue; } } TreeNode trnChild = new TreeNode(); trnChild.Text = drAry[nIndex][_dtblModule.strModuleNameColumn.ColumnName].ToString();//得到结点的名称 trnChild.Name = drAry[nIndex][_dtblModule.strModuleCodeColumn.ColumnName].ToString();//得到结点的编号 trn.Nodes.Add(trnChild); CreateTreeView(trnChild, trnChild.Name); } } 在你绑定完树节点后面加上treeView.ExpandAll(); trn.Nodes.Add(trnChild); treeView.ExpandAll(); CreateTreeView(trnChild, trnChild.Name); 在Form_Load中加入 treeView.ExpandAll(); 而不是在构造函数中加, 试一下 请问该程序怎么出错了,怎么改?调试时显示ORA-00911: invalid character,但是这个查询语句在数据库里是正确的 C# 自定义控件属性定义 高分 咨询邮件服务器问题 vs2005小问题 XenoCode里的x271f237e4704798d是什么?高分相送!!! 大侠们帮帮忙把 怎么在sql语句中比较Datetime和int型的数据呀 是否有办法在已有的exe上套上一个自己的exe壳? vs.net2003到底比原来更新了一些什么? 如何用在Visual C#中连接用access做的数据库 一定给分 listview 选中行 请问怎么用存储过程来发邮件?谢谢~~~~
/// 初始树根节点
/// </summary>
private void InitTreeView()
{ this.treeView.Nodes.Clear();
OTMS.SysModuleDataSetTableAdapters.TbModuleTableAdapter AD = new OTMS.SysModuleDataSetTableAdapters.TbModuleTableAdapter(); _dtblModule = AD.GetData();
DataRow[] drAry = _dtblModule.Select(_dtblModule.strParentModuleCodeColumn.ColumnName + "='0'");
TreeNode trn = new TreeNode();
trn.Text = drAry[0][_dtblModule.strModuleNameColumn.ColumnName].ToString(); trn.Name = drAry[0][_dtblModule.strModuleCodeColumn.ColumnName].ToString();
this.treeView.Nodes.Add(trn); CreateTreeView(trn, trn.Name);
}
方法后面加 treeView.ExpandAll(); 看看.
/// 构建树
/// </summary>
/// <param name="trn">树节点</param>
/// <param name="strParentNodeCode">父节点编码</param>
private void CreateTreeView(TreeNode trn, string strParentNodeCode)
{
DataRow[] drAry = _dtblModule.Select(_dtblModule.strParentModuleCodeColumn.ColumnName + "='" + strParentNodeCode + "'"); for (int nIndex = 0; nIndex < drAry.Length; nIndex++)
{
//“公共”模块不参与权限控制
if ("权限控制" == drAry[nIndex][_dtblModule.strMduCommonColumn.ColumnName].ToString())
{
OTMS.VwRolePowerDataSetTableAdapters.QueriesTableAdapter bs = new OTMS.VwRolePowerDataSetTableAdapters.QueriesTableAdapter();
object obj = bs.GetRolePowerCount(drAry[nIndex][_dtblModule.strModuleCodeColumn.ColumnName].ToString(), base.RoleCode.ToString());
////如果此角色拥有该模块的功能数为0,则不显示此菜单
//object obj = new perVwRolePowerTableAdapter().GetRolePowerCount(drAry[nIndex][_dtblModule.strModuleCodeColumn.ColumnName].ToString(), base.UserRoleCode);
if (0 == Convert.ToInt32(obj))
{
continue;
} }
TreeNode trnChild = new TreeNode();
trnChild.Text = drAry[nIndex][_dtblModule.strModuleNameColumn.ColumnName].ToString();//得到结点的名称
trnChild.Name = drAry[nIndex][_dtblModule.strModuleCodeColumn.ColumnName].ToString();//得到结点的编号 trn.Nodes.Add(trnChild); CreateTreeView(trnChild, trnChild.Name);
} }
treeView.ExpandAll();
CreateTreeView(trnChild, trnChild.Name);
而不是在构造函数中加, 试一下