Ⅰ 弹出窗口调用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串传到后台,在后台将之转换成对象属性并进行数据库更新 ,当然也可以拼成一个数组,传到后台 ,看你喜好了。