天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Extjs學習筆記之六 面版

Extjs為我們封裝好了Panel,Panel具有統一的標題頭,面板體,面板底部,還可以自由的添加工具欄等。另外,extjs中還有豐富的布局,可以用來布局Panel。這種方式很像Java的Swing. Panel可以嵌套,可以作為整個頁面的框架,也可以作為一個小功能區。前幾篇文中用到的FormPanel就是繼承自Panel類的。

下面的例子展示了一個較為完整的Panel,主要是設置工具欄:
復制代碼 代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Extjs Combobox</title>
<link rel="Stylesheet" type="text/css" href="ext-3.1.0/resources/css/ext-all.css" />
<script type="text/Javascript" src="ext-3.1.0/adapter/ext/ext-base.js"></script>
<script type="text/Javascript" src="ext-3.1.0/ext-all.js"></script>
<script type="text/Javascript" src="ext-3.1.0/src/locale/ext-lang-zh_CN.js"></script>
<script type="text/Javascript">
Ext.onReady(function() {
new Ext.Panel({
title: 'Panel Header',
tbar: ['Top Toolbar', {
// xtype: 'button', // default for Toolbars, same as 'tbbutton'
text: 'Button'
},
{
xtype: 'splitbutton', // same as 'tbsplitbutton'
text: 'Split Button'
}, // begin using the right-justified button container
'->', // same as {xtype: 'tbfill'}, // Ext.Toolbar.Fill
{
xtype: 'textfield',
name: 'field1',
emptyText: 'enter search term'
},
// add a vertical separator bar between toolbar items
'-', // same as {xtype: 'tbseparator'} to create Ext.Toolbar.Separator
'text 1', // same as {xtype: 'tbtext', text: 'text1'} to create Ext.Toolbar.TextItem
{xtype: 'tbspacer' }, // same as ' ' to create Ext.Toolbar.Spacer
'text 2',
{ xtype: 'tbspacer', width: 50 }, // add a 50px space
'text 3'],
bbar: ['Bottom Toolbar'],
applyTo: 'mypanel',
frame: true,
html: '<div>Here is the body of the Panel</div>',
bodyStyle: 'background-color:#FFFFFF',
height: 300,
width: 600,
collapsible: true,
tools: [{ id: 'toggle' }, { id: 'close' }, { id: 'maximize'}],
buttons: [new Ext.Button({ text: 'Click Me' })]
});
});
</script>
</head>
<body>
<div id="mypanel"></div>
</body>
</html>

效果如下:
image 
下面介紹如何給面板加載內容。其實上面的例子已經展示了一種方法,那就是通過html屬性直接指定,不過這種方法似乎沒有太大的實用價值。Panel具有一個autoLoad屬性,可以加載遠程頁面。新建一個頁面RemoteContent.htm,內容如下:
復制代碼 代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<ul>
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>
<li>List Item 4</li>
<li>List Item 5</li>
</ul>
</body>
</html>

將上例的html配置項去掉,換成:
autoLoad:'RemoteContent.htm'則效果為:
image 
autoLoad配置項會把<body></body>之間的內容加載進來。要注意,加載的文件中不能含有<!-- -->,否則不能正常加載。另外要注意,用這種方法直接加載ASPx頁面往往不能成功。例如,新建一個Default.ASPx頁面,內容為:
復制代碼 代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<ASP:Label ID="Label1" runat="server" Text="Label"></ASP:Label>
<ASP:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
</body>
</html>

按鈕事件為:

Label1.Text = "Hello ASP.NET With Extjs.";

把autoLoad配置為Default.ASPx頁面,點擊下按鈕,就會發現整個Panel都沒了,就剩下ASPx頁面上的內容。因此autoLoad適合加載htm文件,或者是通過ashx頁面輸出的html代碼,這些輸出的代碼都由我們自己嚴格控制,而用默認的ASPx的回發頁面肯定是不行的。要直接將extjs和ASP.NET服務器控件組合起來用也是不太可能的。如果非要偷個懶,可以用這樣的方法:

html:' <iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="'+'default.ASPx'+'"> </iframe>'這樣就可以了。
Panel還具有一個ContentEl屬性,可以加載本頁面上的dom節點。這種方法也能和ASP.NET服務器控件結合使用,對Default.ASPx稍加修改:
復制代碼 代碼如下:
<body>
<formid="form1"runat="server">
<divid="panelcontent">
<ASP:LabelID="Label1"runat="server"Text="Label"></ASP:Label>
<ASP:ButtonID="Button1"runat="server"Text="Button"onclick="Button1_Click" />
</div>
<div>Here is some fixed Content</div>
<divid="panel"></div>
</form>
</body>

head部分的腳本和上面的例子一致,只是把html和autoLoad屬性都去掉,換成:
contentEl: 'panelcontent'表示這個panel要加載id為panelcontent的div中的內容,也就是一個Label和一個button。效果如下:
image 
可以看到contentEl的效果,它是把原來在
<div>Here is some fixed Content</div>
之上的內容移動到Panel的內部 。這個時候點擊button,能夠正確響應服務器端的代碼。這種方式僅僅是在頁面上移動一些DOM節點的位置,一般來說對服務器端事件不會造成什么影響,但是這樣Panel的作用和div也相差不大了。
最后介紹通過items配置項向Panel內添加其他Extjs組件的方法。Panel內除了直接添加html之外還可以添加其他的組件,Panel本身也是組件,所以Panel是可以嵌套的。嵌套的Panel結合下一節要介紹的布局可以方便的完成一些布局工作。
新建一個nestedPanel.htm,代碼如下,通過items配置Panel內部的內容:
復制代碼 代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Extjs Nest Panel</title>
<link rel="Stylesheet" type="text/css" href="ext-3.1.0/resources/css/ext-all.css" />
<script type="text/Javascript" src="ext-3.1.0/adapter/ext/ext-base.js"></script>
<script type="text/Javascript" src="ext-3.1.0/ext-all.js"></script>
<script type="text/Javascript" src="ext-3.1.0/src/locale/ext-lang-zh_CN.js"></script>
<script type="text/Javascript">
Ext.onReady(function() {
new Ext.Panel({
title: 'Panel Header',
renderTo: 'panel1',
frame: true,
bodyStyle: 'background-color:#FFFFFF',
collapsible: true,
items: new Ext.DatePicker(),
width: 189
});
new Ext.Panel({
title: 'Nested Panel',
renderTo: 'panel2',
width: 189,
frame: true,
items: [{ xtype: 'panel', title: 'nested 1',html:'<div>I am panel A</div>' },
{ xtype: 'panel', title: 'nested 2', autoLoad:'RemoteContent.htm'}]
});
});
</script>
</head>
<body>
<div id="panel1"></div>
<div id="panel2"></div>
</body>
</html>

效果如下:
image 

JavaScript技術Extjs學習筆記之六 面版,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费精品一区二区三区在线观看 | 国产伦精品一区二区三区 | 吉吉影音先锋av资源 | 伊人国产在线视频 | 曰本女人牲交视频免费 | 黄页免费观看 | 最近中文字幕完整版免费 | 久久机热视频 这里只有精品首页 | 亚洲精品成人久久久影院 | 樱花草动漫www | 国产不卡视频在线 | 99久久无码一区人妻A片蜜 | 亚洲AV无码国产精品午夜久久 | 年轻的搜子8中字在线观看 年轻的朋友4在线看中文字幕 | 最近免费中文字幕完整版HD | 日本无吗高清 | 窝窝午夜色视频国产精品东北 | 人妻换人妻AA视频 | 国产午夜理论片YY8840Y | 正在播放国产尾随丝袜美女 | 久久九九亚洲精品 | 欧美香蕉大胸在线视频观看 | 老熟人老女人国产老太 | 国产精品久久人妻无码网站一区无 | 色爱区综合激情五月综合激情 | 亚洲福利区| 冰山高冷受被c到哭np双性 | 成品片a免人看免费 | 丝袜美女自摸 | 麻豆传煤网站网址入口在线下载 | 人妻少妇偷人精品无码洋洋AV | 蜜桃99影院| 亚洲日韩乱码人人爽人人澡人 | 人妻天天爽夜夜爽三区麻豆A片 | 成人在线视频免费观看 | 高清不卡伦理电影在线观看 | 香蕉精品国产自在现线拍 | 国产成人免费在线 | 色欲精品久久人妻AV中文字幕 | 泡妞高手在都市完整版视频免费 | 野花韩国高清完整版在线 |