如何解決Devexpress動態選單后所有選單都有三角子選單?
如果一開始用ButtonItem填充, 無法創建子選單.
如果一直用BarSubItem填充, 會所有選單都有子選單三角形顯示.
如何最后一項用ButtonItem填充.
private void DevexpressLoadMainMenu2()
{
DataSet ds = new DataSet();
ds.ReadXml("menu.xml");
DevexpressCreateMainMenu(ds.Tables["t_menu_info"]);
}
private void DevexpressCreateMainMenu(DataTable dt)
{
DataRow[] drs = dt.Select("frm_father_id='-1'");
if (drs.Length > 0)
{
bar2.ItemLinks.Clear();
foreach (DataRow item in drs)
{
BarSubItem menu = new BarSubItem();
menu.Caption = item["frm_cname"].ToString();
bar2.ItemLinks.Add(menu);
DevexpreeCreateSubMenuItem(menu, item["frm_id"].ToString(), dt);
}
}
}
private void DevexpreeCreateSubMenuItem(BarSubItem menu, string fatherid, DataTable dt)
{
DataRow[] drs = dt.Select("frm_father_id='" + fatherid + "'");
if (drs.Length > 0 )
{
foreach (DataRow item in drs)
{
string text = item["frm_cname"].ToString();
// ButtonItem mitem = new ButtonItem();
//BarButtonItem mitem = new BarButtonItem(barManager1,text);
BarSubItem mitem = new BarSubItem(barManager1, text);
mitem.Tag = item;
DevexpreeCreateSubMenuItem(mitem, item["frm_id"].ToString(), dt);
menu.ItemLinks.Add(mitem);
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<menu>
<t_menu_info frm_id="1" frm_cname="Main1" frm_father_id="-1" />
<t_menu_info frm_id="6" frm_cname="M21" frm_father_id="1" />
<t_menu_info frm_id="5" frm_cname="M22" frm_father_id="1" />
<t_menu_info frm_id="7" frm_cname="M31" frm_father_id="6" />
<t_menu_info frm_id="8" frm_cname="M32" frm_father_id="6" />
<t_menu_info frm_id="15" frm_cname="M4" frm_father_id="8" />
<t_menu_info frm_id="2" frm_cname="Main2" frm_father_id="-1" />
</menu>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/142053.html
標籤:C#
上一篇:行情很慘淡
