Ⅰ 彈出窗口調用js方法刷新extjs grid的數據
彈出窗口的時候在window前面加上一個return空格window.open(),在彈出窗口關閉時,寫上window.returnValue =「值",在grid的頁面上判斷值來調用reload()刷新
Ⅱ Extjs的Ext.grid.GridPanel組件進行行編輯或單元格編輯之後如何將修改之後的數據及時的更新到資料庫
Ext.grid.plugin.CellEditing
Ext.grid.plugin.RowEditing
你用的應該是以上兩種
你可以用canceledit事件做提交後台,總是方式回很多
然後答grid.getStore().reload();刷新
Ⅲ Extjs中如何使用資料庫中的數據,創建動態菜單
登錄驗證 , 然後 將你的菜單返回 , 格式無所謂 , 只要你最後能從JS中解析出來
將菜單加到一個toolbar上
設置菜單的事件
//下面是簡單的摘子目前用的的一個例子
/**
*頂部菜單
*/
Ext.define('XRS.page.bar.Top',{
extend:'Ext.toolbar.Toolbar',
dock:"top",
border:"1020",
initComponent:function(){
varme=this;
//這里是對菜單進行解析,因為我從後台返回來的是列表,而不是一個樹,所以需要解析成菜單的格式
//參數$Admin.getMainMenu()這個是從後台飯回來的數據的一個簡單包裝,在下面我一個樣本
varmainMenu=this.parseMenu($Admin.getMainMenu());
me.items=mainMenu;
this.callParent();
},
//解析成菜單格式的數據
parseMenu:function(menus){
varme=this;
if(!(menus&&menus.length>0))returnfalse;
//根據parentid生成樹
varmap={};
varrs=[];
Ext.each(menus,function(n){
n.id="mainmenu_"+n.id;
n.text=n.name;
//這里是設置點擊事件的,通過bind,不需要設置scope
n.handler=Ext.bind(me.onClick,me);
//下面的只是生成一個菜單的數據格式
map[n.id]=n;
//如果找到父節點
if(map["mainmenu_"+n.parentid]){
varpn=map["mainmenu_"+n.parentid];
if(!pn.menu){
pn.hideOnClick=false;
pn.menu={
items:[]
};
}
if(n.isSeparator=="1")n.xtype="menuseparator";
pn.menu.items.push(n);
}else{
if(n.isSeparator=="1")n.xtype="tbseparator";
rs.push(n);
}
},this);
returnrs;
},
//這是一個點擊事件
onClick:function(menu,e){
if(!menu)return;
//可以任意設置事件
alert(menu.text);
//this.fireEvent('moleclick',menu,'menu');
}
});
//下面是個返回的菜單數據樣本,是個列表
"mainMenu":[
{
"$id":"14",
"id":53,
"name":"基礎信息",
"code":"",
"menutype":null,
"mole":"",
"moleConfig":"",
"method":"",
"isWindow":null,
"url":null,
"iconCls":"ico_baseinfo",
"parentid":1,
"path":"1,53",
"ix":24,
"privilege":"6",
"isSeparator":0,
"xtype":null,
"disabled":null,
"noprivilege":0
},
{
"$id":"35",
"id":54,
"name":"系統代碼管理",
"code":"",
"menutype":null,
"mole":"XRS.baseinfo.code.List",
"moleConfig":"",
"method":"",
"isWindow":null,
"url":null,
"iconCls":"ico_code",
"parentid":53,
"path":"1,53,54",
"ix":1,
"privilege":"7",
"isSeparator":0,
"xtype":null,
"disabled":null,
"noprivilege":0
},
{
"$id":"36",
"id":55,
"name":null,
"code":null,
"menutype":null,
"mole":null,
"moleConfig":null,
"method":null,
"isWindow":null,
"url":null,
"iconCls":null,
"parentid":53,
"path":"1,53,55",
"ix":2,
"privilege":"7",
"isSeparator":1,
"xtype":null,
"disabled":null,
"noprivilege":0
},
{
"$id":"37",
"id":57,
"name":"部門機構",
"code":"",
"menutype":null,
"mole":"XRS.baseinfo.organization.List",
"moleConfig":"",
"method":"",
"isWindow":null,
"url":null,
"iconCls":"ico_org",
"parentid":53,
"path":"1,53,57",
"ix":3,
"privilege":"8",
"isSeparator":0,
"xtype":null,
"disabled":null,
"noprivilege":0
},
{
"$id":"38",
"id":58,
"name":"用戶",
"code":"",
"menutype":null,
"mole":"XRS.baseinfo.user.List",
"moleConfig":"",
"method":"",
"isWindow":null,
"url":null,
"iconCls":"ico_user",
"parentid":53,
"path":"1,53,58",
"ix":4,
"privilege":"9",
"isSeparator":0,
"xtype":null,
"disabled":null,
"noprivilege":0
},
{
"$id":"39",
"id":59,
"name":"角色",
"code":"",
"menutype":null,
"mole":"XRS.baseinfo.role.List",
"moleConfig":"",
"method":"",
"isWindow":null,
"url":null,
"iconCls":"ico_role",
"parentid":53,
"path":"1,53,59",
"ix":5,
"privilege":"10",
"isSeparator":0,
"xtype":null,
"disabled":null,
"noprivilege":0
}]
Ⅳ Extjs的DateField問題(急):在做修改功能時,如果資料庫欄位是Date類型時,頁面不能獲得原來的日期數據
你的extjs頁面寫的format了么?format:'Y-m-d',在items:[{xtype:'datefield',format:'Y-m-d'}]這樣就顯示出來了,我也出過這樣的問題
Ⅳ extjs 在grid編輯控制項上 點一個單元格修改後 怎樣及時保存到資料庫
手頭沒有代碼,兄弟,我曾靜做過,給你個思路
ext例子有個編輯單元格的例子,你先看那版個,當你編輯權完,應點擊保存,再保存到資料庫中,具體是點保存的時候加上一個函數,在函數中,拿到修改的東東,ajax請求後台,把你修改的值拼成json串傳到後台,在後台將之轉換成對象屬性並進行資料庫更新 ,當然也可以拼成一個數組,傳到後台 ,看你喜好了。