dev navbar 和 tree 以及BarManager
private void InitNavBar()
{
DataSet ds = new DataSet();
string str = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\DevTestData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
ds = SqlHelper.ExecuteDataset(str, CommandType.Text, "select * from sysfun");
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr["ParentNodeId"].ToString() == "0")
{
NavBarGroup group = new NavBarGroup(dr["displayName"].ToString());
this.navBarControl1.Groups.Add(group);
foreach (DataRow drChild in ds.Tables[0].Rows)
{
if (drChild["ParentNodeId"].ToString() == dr["NodeId"].ToString())
{
NavBarItem item = new NavBarItem(drChild["displayName"].ToString());
group.ItemLinks.Add(item);
}
}
}
}
}
private void InitTree()
{
DataSet ds = new DataSet();
string str = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\DevTestData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
ds = SqlHelper.ExecuteDataset(str, CommandType.Text, "select * from sysfun");
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr["ParentNodeId"].ToString() == "0")
{
//注意这里添加节点的方法,通过object的数组表示每一列显示什么数据,在第一列中显示 dr["displayName"]
//第二个参数是 父节点,如果为null,那么代表他就是根节点
TreeListNode parentNode = treeList1.AppendNode(new object[] { dr["displayName"], null }, null);
foreach (DataRow drChild in ds.Tables[0].Rows)
{
if (drChild["ParentNodeId"].ToString() == dr["NodeId"].ToString())
{
//这里添加节点的时候,注意object数据中包含了两列信息
treeList1.AppendNode(new object[] { drChild["displayName"], drChild["FullFrmName"] }, parentNode);
}
}
}
}
}
//选择节点行之后
private void treeList1_AfterFocusNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e)
{
if (e.Node.ParentNode != null)
{
//注意这里显示节点时,e.Node是DataRow类型,一定要 跟 设定的 字段的值一致才行,才不会报错
MessageBox.Show(e.Node["Column1"].ToString());
}
}
--------------------
添加菜单按钮
//创建好一个父菜单
BarSubItem barSubItem = new BarSubItem(this.barManager1, "用户管理");
bar2.InsertItem(bar2.ItemLinks[bar2.ItemLinks.Count - 1], barSubItem);
//创建一个二级菜单
BarItem barSmallItem = new BarButtonItem(this.barManager1, "增加用户");
barSubItem.AddItem(barSmallItem);