asp.net Coolite TablePanel使用

來源:互聯網
上載者:User

其中用得最多的就是他的Tabs屬性,用於定義子標籤選項,可參考所示:

其中content.html的代碼如下程式碼片段,為運行效果:複製代碼 代碼如下:<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<style type="text/css">
body{font-size:12px;}
</style>
</head>
<body>
TabPanel控制項學習
</body>
</html>


TabPanel最靈活的是動態建立子標籤選項,想瞭解這個建立過程的實現原理請查閱我之前寫的兩篇文章(本文前面有文章串連),需要注意的是不能通過同步的事件驅動去建立,一但頁面PostBack新建立的所有標籤選項將被全部清除。如果一定要通過服務端後台代碼去動態建立,可使用Coolite Toolkit所提供的AjaxEvent機制。 複製代碼 代碼如下:protected void CreataTab_Click(object sender, AjaxEventArgs e)
{
var tab = new Tab("通過AjaxEvent新增Tab");
tab.TabIndex = short.Parse("11");
tab.ID = "tabID";
tab.AutoLoad.Url = "http://www.jb51.net";
tab.AutoLoad.NoCache = true;
tab.AutoLoad.Mode = LoadMode.IFrame;
this.tabPanel.Tabs.Add(tab);
this.tabPanel.ActiveTab = tab;
}
<ext:Button ID="btnCreateTab" runat="server" Text="動態添加子標籤選項">
<AjaxEvents>
<Click OnEvent="CreataTab_Click">
<EventMask ShowMask="true" Msg="正在載入"/>
</Click>
</AjaxEvents>
</ext:Button>

個人覺得通過同步方式建立頁面總是會晃動一下,閃著讓人很不爽。推薦通過用戶端動態添加子標籤選項的方式建立,TabPanel提供了相應的用戶端API來完成這些操作。 複製代碼 代碼如下:<ext:Button ID="btnClient" runat="server" Text="添加Tab(Client)">
<Listeners>
<Click Handler="addTab(#{tabPanel}, 'tabCnblogs', 'http://www.jb51.net');" />
</Listeners>
</ext:Button>

通過JavaScript方法addTab()方法動態建立,三個參數分別為:TabPanel控制項ID,新建立的Tab的ID,西建立的Tab所呈現的內容路徑。 複製代碼 代碼如下:<script type="text/javascript">
function addTab(tabPanel, id, url) {
var tab = tabPanel.getComponent(id);
if (!tab) {
tab = tabPanel.add({
id: id,
title: url,
closable: true,
autoLoad: {
showMask: true,
url: url,
mode:'iframe',
maskMsg: '正在載入 '
}
});
}
tabPanel.setActiveTab(tab);
}
</script>

用戶端建立的方式是純Ext的操作方式,TabPanel提供了API可直接擷取指定id的子Tab是否存在,使用這一功能就可以完美的處理互斥,以建立出唯一的Tab子標籤選項。

TabPanel使用得多的就是用來處理多標籤選項卡,另外多數時候是用作容器,其容器功能和Panel、Window等基本相同。就拿上一篇文章中建立的樹做樣本吧,現在需要將樹顯示在TabPanel的一個子標籤選項裡,可以直接調用TabPanel的用戶端API方法addTab將一個存在的容器類型控制項添加到TabPanel,使其成為TabPanel的子Tab。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.