050401    050402  


用動態的方式控制選單內部顯示資訊。
重點:至少在aspx頁面有個panel可以掛載資料即可。

*.aspx --- Items標簽內就可以不需要有東西了
<ext:Panel ID="Panel1" runat="server" Height="300" Title="系統功能表" Width
="200">
<Body>
<ext:Accordion ID="Accordion1" runat="server" Animate="true">
<ext:MenuPanel ID="MenuPanel1" runat="server" Title="選單1">
<Menu ID="Menu1" runat="server">
<Items>
<%--<ext:MenuItem Text="新增" Href="#" Icon="Add" />
<ext:MenuItem Text="維護" Href="#" Icon="Cmy" />
<ext:MenuItem Text="帳套" Href="#" Icon="DatabaseGo"
/>--%>
</Items>
</Menu>
</ext:MenuPanel>

<ext:MenuPanel ID="MenuPanel2" runat="server" Title="選單2">
<Menu ID="Menu2" runat="server">
<Items>
<%--<ext:MenuItem Text="新增" Href="#" Icon="Add" />
<ext:MenuItem Text="維護" Href="#" Icon="Cmy" />
<ext:MenuItem Text="帳套" Href="#" Icon="DatabaseGo"
/>--%>
</Items>
</Menu>
</ext:MenuPanel>

</ext:Accordion>
</Body>
</ext:Panel>

*.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) CreateMenu2();
}

private void CreateMenu2()
{
Coolite.Ext.Web.MenuItem addAccount1 = new Coolite.Ext.Web.
MenuItem("新增");
addAccount1.Icon = Icon.Add;

Coolite.Ext.Web.MenuItem whAccount1 = new Coolite.Ext.Web.
MenuItem("維護");
whAccount1.Icon = Icon.Cmy;

Coolite.Ext.Web.MenuItem accountManage1 = new Coolite.Ext.Web.
MenuItem("帳套");
accountManage1.Icon = Icon.Database;

MenuPanel1.Menu.Items.Add(addAccount1);
MenuPanel1.Menu.Items.Add(whAccount1);
MenuPanel1.Menu.Items.Add(accountManage1);
MenuPanel1.Menu.Listeners.ItemClick.Fn = "onItemClick";


Coolite.Ext.Web.MenuItem menu21 = new Coolite.Ext.Web.MenuItem(
"menu2-1");
menu21.Icon = Icon.XhtmlGo;

Coolite.Ext.Web.MenuItem menu22 = new Coolite.Ext.Web.MenuItem(
"menu2-2");
menu22.Icon = Icon.FlagDo;

Coolite.Ext.Web.MenuItem menu23 = new Coolite.Ext.Web.MenuItem(
"menu2-3");
menu23.Icon = Icon.Feed;

MenuPanel2.Menu.Items.Add(menu21);
MenuPanel2.Menu.Items.Add(menu22);
MenuPanel2.Menu.Items.Add(menu23);
MenuPanel2.Menu.Listeners.ItemClick.Fn = "onItemClick";
}

*.js (直接放在<head>中)

<script type="text/javascript">
function onItemClick(menuItem) {
Ext.Msg.alert("操作提示", "點擊內容:" + menuItem.text);
}
</script>

別忘了aspx頁面要拉ScripManager喔!
---------------------------------------------------------------------------------------


同樣的功能,這樣的寫法可以做到連選單項目都動態。

*.JS

<script type="text/javascript">
function onItemClick(menuItem) {
Ext.Msg.alert("操作提示", "點擊內容:" + menuItem.text);
}
</script>

*.aspx

<ext:Panel ID="Panel1" runat="server" Height="300" Title="系統功能表" Width
="200">
<Body>
<ext:Accordion ID="Accordion1" runat="server" Animate="true">

<%--<ext:MenuPanel ID="MenuPanel1" runat="server" Title="選單1">
<Menu ID="Menu1" runat="server">
<Items>
<%--<ext:MenuItem Text="新增" Href="#" Icon="Add" />
<ext:MenuItem Text="維護" Href="#" Icon="Cmy" />
<ext:MenuItem Text="帳套" Href="#" Icon="DatabaseGo"
/>
</Items>
</Menu>
</ext:MenuPanel>--%>

<%--<ext:MenuPanel ID="MenuPanel2" runat="server" Title="選單2">
<Menu ID="Menu2" runat="server">
<Items>
<ext:MenuItem Text="新增" Href="#" Icon="Add" />
<ext:MenuItem Text="維護" Href="#" Icon="Cmy" />
<ext:MenuItem Text="帳套" Href="#" Icon="DatabaseGo"
/>
</Items>
</Menu>
</ext:MenuPanel>--%>

</ext:Accordion>
</Body>
</ext:Panel>

*.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) CreateMenu2();
}

private void CreateMenu2()
{
Coolite.Ext.Web.Accordion Accordion1 = new Coolite.Ext.Web.
Accordion();

Coolite.Ext.Web.MenuPanel MenuPanel1 = new Coolite.Ext.Web.
MenuPanel();
MenuPanel1.Title = "選單1";

Coolite.Ext.Web.MenuItem addAccount1 = new Coolite.Ext.Web.
MenuItem("新增");
addAccount1.Icon = Icon.Add;

Coolite.Ext.Web.MenuItem whAccount1 = new Coolite.Ext.Web.
MenuItem("維護");
whAccount1.Icon = Icon.Cmy;

Coolite.Ext.Web.MenuItem accountManage1 = new Coolite.Ext.Web.
MenuItem("帳套");
accountManage1.Icon = Icon.Database;

MenuPanel1.Menu.Items.Add(addAccount1);
MenuPanel1.Menu.Items.Add(whAccount1);
MenuPanel1.Menu.Items.Add(accountManage1);
MenuPanel1.Menu.Listeners.ItemClick.Fn = "onItemClick";


Coolite.Ext.Web.MenuPanel MenuPanel2 = new Coolite.Ext.Web.
MenuPanel();
MenuPanel2.Title = "選單2";

Coolite.Ext.Web.MenuItem menu21 = new Coolite.Ext.Web.MenuItem(
"menu2-1");
menu21.Icon = Icon.XhtmlGo;

Coolite.Ext.Web.MenuItem menu22 = new Coolite.Ext.Web.MenuItem(
"menu2-2");
menu22.Icon = Icon.FlagDo;

Coolite.Ext.Web.MenuItem menu23 = new Coolite.Ext.Web.MenuItem(
"menu2-3");
menu23.Icon = Icon.Feed;

MenuPanel2.Menu.Items.Add(menu21);
MenuPanel2.Menu.Items.Add(menu22);
MenuPanel2.Menu.Items.Add(menu23);
MenuPanel2.Menu.Listeners.ItemClick.Fn = "onItemClick";


Accordion1.Items.Add(MenuPanel1);
Accordion1.Items.Add(MenuPanel2);

Panel1.Items.Add(Accordion1);
}

arrow
arrow
    全站熱搜

    reynard0802 發表在 痞客邦 留言(1) 人氣()