0、下拉清單具有提示文字:
您喜歡吃:
選擇作品分類
{$vo}
1 extjs對話框中的圖示
要在對話框中加個圖檔,很容易,首先加個樣式:
然後在對話框中設定
Ext.Msg.show({
title:'Milton',
msg: 'Have you seen my stapler?',
buttons: {yes: true, no: true, cancel: true},
icon: 'milton-icon',
這裡設定icon,指出其CSS樣式就可以了。
2 對話框的選擇,包括點不同按鈕的反應
Ext.onReady(function(){
defaultButton: 'no',
fn: function(btn) {
switch(btn){
case 'yes':
Ext.Msg.prompt('Milton', 'Where is it?', function
(btn,txt) {
if (txt.toLowerCase() == 'the office') {
Ext.get('my_id').dom.innerHTML = 'Work
Sucks';
}else{
Ext.get('my_id').dom.innerHTML = txt;
}
});
break;
case 'no':
Ext.Msg.alert('Milton', 'Im going to burn the building
down!');
case 'cancel':
Ext.Msg.wait('Saving tables to disk...','File Copy');
3 ext對某個DIV ID的引用,可以使用Ext.get('myid')來設定
4 EXT的月曆,可以禁止使用某些日期,還支援正規表達式,如
{
xtype: 'datefield',
fieldLabel: 'Released',
name: 'released',
disabledDays: [1,2,3,4,5]
}]
上面的是禁止周6,日以外的所有日期,0為周日,6為周6
5 設定驗證樣式,比如:
xtype: 'textfield',
fieldLabel: 'Director',
name: 'director',
vtype: 'alpha'
vtype設定了驗證樣式,比如alpha隻好允許字母和數字,還有email,url等
6 建立自定義驗證方式
比如要建立一個驗證,要輸入的字元串之間有空格,則
{
vtype: 'name'
}
Ext.form.VTypes.nameVal = /^([A-Z]{1})[A-Za-z\-]+ ([A-Z]{1})[A-Za-z\-]+/;
Ext.form.VTypes.nameMask = /[A-Za-z\- ]/;
Ext.form.VTypes.nameText = 'In-valid Director Name.';
Ext.form.VTypes.name = function(v){
return Ext.form.VTypes.nameVal.test(v);
};
其中xxxxVal是用于比對的正規表達式;xxxMask,屏蔽限制使用者的輸入;xxxxText:用于錯誤資訊
7 表單中,監聽回車按鍵的事件
items: [{
fieldLabel: 'Title',
name: 'title',
allowBlank: false,
listeners: {
specialkey: function(frm,evt){
if (evt.getKey() == evt.ENTER) {
movie_form.getForm().submit();
8 GRID中的單元格顯示函數
在某列中使用HTML和圖形,比如:
{header: "Cover", dataIndex: 'coverthumb', renderer: cover_image},
function cover_image(val){
return '';
9 GRID中監聽某行被選擇;
sm: new Ext.grid.RowSelectionModel({
singleSelect: true,
rowselect: {
fn: function(sm,index,record) { Ext.Msg.alert('You
Selected',record.data.title); }
}),
注意第一行為0序号
10 做一個按鈕,單擊時可以編輯某一行的資料
tbar: [{
// changes the title of the currently selected row usign a messagebox
text: 'Change Title',
handler: function(){
var sm = grid.getSelectionModel();
// get the selected row (if exists)
var sel = sm.getSelected();
// has something been selected?
if (sm.hasSelection()){
title: 'Change Title',
prompt: true,
buttons: Ext.MessageBox.OKCANCEL,
value: sel.data.title,
fn: function(btn,text){
if (btn == 'ok'){
// set a new value for one of the
// columns in our selected row
sel.set('title', text);
11 在editorgrid中,判斷某些行不可編輯,采用afteredit事件就可以了
listeners: {
afteredit: function(e){
if (e.field == 'director' && e.value == 'Mel Gibson'){
Ext.Msg.alert('Error','Mel Gibson movies not allowed');
e.record.reject();
e.record.commit();
注意,e.filed是判斷所在的列,e.value判斷所在的哪一行
12、在Ext grid中假設有一個名稱為grid的對象。
(1)grid.getStore().getRange(0,store.getCount());//得到grid所有的行
(2)grid.getSelectionModel().getSelections()//得到選擇所有行
(3)grid.selModel.selections.items;//得到選擇所有行
(4)grid.getSelectionModel().getSelected();//得到選擇行的第一行
13、extjs的gridpanel制定列的顔色
http://www.javaeye.com/topic/313709
14、extjs的gridpanel制定行的顔色
http://www.javaeye.com/topic/313411