命名空间:
using DevExpress.XtraBars.Navigation;
节点的生成:
private void leftmenu()
{
int i = 1;
string sql1 = "select ResouceName from authority where ParentID IS NULL";
DataTable dt = DBHelper.GetTable(sql1);
DataRow[] drs = dt.Select();
//清空控件里的Elements
l_menu.Elements.Clear();
//遍历父节点
foreach (DataRow dr1 in drs)
{
//定义父节点
AccordionControlElement group = new AccordionControlElement();
group.Text = dr1[0].ToString();
group.Height = 50;
//添加父节点
l_menu.Elements.Add(group);
string sql2 = "select ResouceName from authority where ParentID = '" + i + "'";
DataTable dt2 = DBHelper.GetTable(sql2);
DataRow[] drs2 = dt2.Select();
//遍历子节点
foreach (DataRow dr2 in drs2)
{
//定义子节点
AccordionControlElement item = new AccordionControlElement();
item.Text = dr2[0].ToString();
//父节点添加子节点
group.Elements.Add(item);
}
i++;
}
//添加单击事件
l_menu.ElementClick += L_menu_ElementClick;
}
private void L_menu_ElementClick(object sender, ElementClickEventArgs e)
{
......//点击节点时要做的事件
}
父节点和子节点的属性可以在Appearance下的Group和Item设置
包括常规状态、鼠标的悬停和按下状态时的属性。
其他属性:
ExpandElementMode:节点展开的模式。
ScrollBarMode:滚动条的显示模式
其他方法:
ExpandAll();//展开所有节点
CollapseAll();//折叠所有节点