精华帖 (1) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-23
dengddq 不是record.data.Id 的问题 是render产生的代码找不到Test函数!
能不能看看你的那个修改的部分代码! |
|
返回顶楼 | |
发表时间:2008-02-23
应该是record.data.Id的问题,改为record.id,记得Id要改为小写。
下面的源代码可以参考一下 var Page={ /** *分页查询页列表 *@param siteId:所属站点ID **/ store:'',//存储器 queryPage:function(siteId){ var sites=[]; new Ajax({//查询站点列表 url:'/viewSites.do', sync:false, success:function(ajax){//返回成功 var responseArray =ajax.getJosnObject(); if(responseArray.success==true){ sites = responseArray.data; var temp=new Array(); temp.push([-1,'所有站点']); var l=sites.length; for(var i=0;i<l;i++){ temp.push(sites.pop()); } sites=temp; } } }); var url; if(siteId!=null&&siteId>0) url='/queryPage.do?siteId='+siteId; else{ url='/queryPage.do?'; siteId=''; } var store = new Ext.data.Store({ proxy: new Ext.data.ScriptTagProxy({ url: url }), reader: new Ext.data.JsonReader({ root: 'results', totalProperty: 'total', id: 'id', fields: ['name','url','siteName','adminName','createTime','remark','siteId' ] }), remoteSort: true }); this.store = store; store.Renderers = { operator:function(value, p, record){ var content=content='<span id="modify-page-show-btn'+record.id+'" style="cursor:pointer;" onclick="Page.modifyPage('+record.id+');"><img src="/images/b_edit.png" alt="修改页面"></span>'; content +=' <a ext:title="'+record.data.name+'的模板位列表" ext:method="Position.queryPosition(\''+record.id+'\',null)" href="/panelContent.jsp?id=position-list-grid'+record.id+'"><img src="/images/position.gif" alt="'+record.data.name+'的模板位列表"></a>'; content +=' <a ext:title="'+record.data.name+'的内容列表" ext:method="var condition={pageId:'+record.id+'};AdvertManager.queryAdvertList(condition);" href="/panelContent.jsp?id=content-list-gridpage'+record.id+'"><img src="/images/advert.gif" alt="'+record.data.name+'的内容列表"></a>'; content +=' <span style="cursor:pointer;" onclick="Page.deletePage('+record.id+');"><img src="/images/delete.gif" alt="删除页面"></span>'; return content; } } var cm = new Ext.grid.ColumnModel([ { id: 'topic', header: "页面名称", dataIndex: 'name', width: 80, align: 'left' },{ header: "页面地址", dataIndex: 'url', width: 120, align: 'left' },{ header: "站点名称", dataIndex: 'siteName', width: 80, align: 'left' },{ header: "创建者", dataIndex: 'adminName', width: 80, align: 'left' },{ header: "创建时间", dataIndex: 'createTime', width: 100, align: 'left' },{ header: "页面简介", dataIndex: 'remark', width: 100, align: 'left' },{ header: "操作", dataIndex: 'operator', width: 80, align: 'left', renderer: store.Renderers.operator }]); cm.defaultSortable = true; var grid = new Ext.grid.GridPanel({ el:'page-list-grid'+siteId, width:850, height:500, store: store, cm: cm, collapsible: true, animCollapse: false, stripeRows: true, loadMask: true, enableDragDrop:true, enableColumnMove:true, viewConfig: { forceFit:true }, iconCls: 'icon-grid', bbar: this.pagingToolbar=new Ext.PagingToolbar({ pageSize: 14, store: store, displayInfo: true, beforePageText : "第", afterPageText : "页共 {0} 页", displayMsg : "显示 {0} - {1},共 {2} 条", emptyMsg : '没有数据需要显示', items:[ ' 每页显示数', new Ext.form.ComboBox({ store:new Ext.data.SimpleStore({ fields: ['abbr', 'state'], data : [[10,10],[15,15],[20,20],[30,30],[40,40],[60,60],[80,80],[100,100]] }), width:50, displayField:'state', typeAhead: true, mode: 'local', value:15, triggerAction: 'all', selectOnFocus:true, listeners:{ change:{ fn:function(box,newValue,oldValue){ Page.changePageSize(newValue); } }, select:{ fn:function(combo, value){ Page.changePageSize(combo.getValue()); } } } }) ] }), tbar:[ '查询:', new Ext.form.ComboBox({ listClass:'x-combo-list-small', width:90, value:'-1', valueField :"value", displayField: "state", hiddenName:'userState', name: 'userState', editable: false, emptyText:'所有', mode: 'local', triggerAction:'all', store: new Ext.data.SimpleStore({ fields: [ 'value','state'], data:sites }), listeners:{select:{fn:function(combo, value) {//过滤操作 store.proxy.url="/queryPage.do?siteId="+combo.getValue(); store.reload(); }}} }),'按页面地址',new Ext.form.TriggerField({ width: 120, emptyText:'页面地址', id:'url', triggerClass:'x-form-search-trigger', onTriggerClick:function(){ var url=Ext.get('url').dom.value; if(url!='页面地址'&&url.length>0){ store.proxy.url='/queryPage.do?url='+encodeURI(url); store.reload(); }else{ Ext.Msg.alert('查询',"请输入要查询的地址!"); } } }), ' <span style="color:red;"><b>操作说明:</b></span>', '<img src="/images/b_edit.png" alt="修改页面">修改 ','<img src="/images/delete.gif" alt="删除页面">删除 ','<img src="/images/position.gif" alt="查看页面的模板位列表">查看模版 ','<img src="/images/advert.gif" alt="查看页面的模板位列表">查看内容' ] }); grid.render(); grid.getSelectionModel().selectFirstRow(); store.load({params:{start:0, limit:14}}); function toggleDetails(btn, pressed){ var view = grid.getView(); view.showPreview = pressed; view.refresh(); } }, changePageSize:function(pageSize){ if(pageSize!=null&&pageSize>0) this.pagingToolbar.pageSize=parseInt(pageSize); this.store.load({params:{start:0, limit:this.pagingToolbar.pageSize}}); this.store.reload(); }, /** * 修改页面信息 * @author kelvin * @param {Object} record 传入的转换对象id */ modifyPage:function(id){ var record=this.store.getById(id);//根据record的id返回record var sites=[]; new Ajax({//查询站点列表 url:'/viewSites.do', sync:false, success:function(ajax){//返回成功 var responseArray =ajax.getJosnObject(); if(responseArray.success==true){ sites=responseArray.data;//设置返回值 } } }); if(this.lastModifyPageWin!=null){ this.lastModifyPageWin.destroy();//删除上一个windows } var button = Ext.get('modify-page-show-btn'+id); var modfiyPageForm = new Ext.FormPanel({ bodyStyle: 'padding:5px;', defaults: { width: 300 }, defaultType: 'textfield', items: [{ fieldLabel: '页面ID', name: 'page.id', value: record.id, labelSeparator: ':', readOnly: true, allowBlank: false }, { fieldLabel: '页面名称', name: 'page.name', labelSeparator: ':', value: record.data.name, readOnly: false, allowBlank: false },{ fieldLabel: '页面地址', name: 'page.url', labelSeparator: ':', value: record.data.url, vtype:'url',//验证类型为URL readOnly: false, allowBlank: false },{ xtype:'combo', valueField :"value", displayField: "name", hiddenName:'page.siteId', store: new Ext.data.SimpleStore({ fields: [ 'value','name'],data: sites }), mode: 'local', forceSelection: true, allowBlank:false, editable: false, lastQuery:'', triggerAction:'all', fieldLabel: '页面所属站点', //emptyText: "选择页面所属站点" value:record.data.siteId },new Ext.form.TextArea({ fieldLabel: '页面简介', name:'page.remark', value: record.data.remark }) ], buttons: [{ text: '确认修改', type:'submit', handler: function() { if(verifyPageForm.form.isValid()){//验证通过 verifyPageForm.form.doAction('submit', { url:'modifyPage.do', method:'post', params:'', waitMsg:'正在提交修改信息,请稍等...', success:function(form,action){ Ext.Msg.alert('修改',"成功修改!"); win.hide(); Page.store.reload(); }, failure:function(form,action){ Ext.Msg.alert('修改',"修改失败!"); win.hide(); Page.store.reload(); } }); } else{// Ext.Msg.alert('',"请正确填写完整的信息!"); } } }, { text: '取消', handler: function(){ win.hide(); } }] }); var win = new Ext.Window({ width: 500, height: 300, title:'修改页面信息'+'('+record.data.name+')', closeAction: 'hide', plain: true, layout: 'fit', closable: true,//是否可以关闭 maximizable: true,//是否可以最大化 collapsible: true, items: [ modifyPageForm ] }); win.show(Ext.get('modify-page-show-btn'+id));//显示Window this.lastModifyPageWin=win; }, /** * 删除广告页面 * @author kelvin * @param {Object} id 广告页面id */ deletePage:function(id){ var back = Ext.MessageBox.confirm('确认','是否真的要删除页面吗',function(btn){ if(btn=='yes'){ Ext.Ajax.request({ url:'deletePage.do', params:{ pageId:id }, success:function(response,options){ if(response.responseText){ Ext.Msg.alert('恭喜','此页面成功删除!'); Page.store.reload(); }else{ Ext.Msg.alert('失败','此页面删除失败!'); Page.store.reload(); } } }) } }); } }; |
|
返回顶楼 | |
发表时间:2008-02-23
谢谢你奉献的源码!
|
|
返回顶楼 | |
发表时间:2008-02-24
LZ能否提供一下一个演示,谢谢
|
|
返回顶楼 | |
发表时间:2008-02-24
不错,怪不得Ext如此火!
|
|
返回顶楼 | |
发表时间:2008-02-25
“http://wlr.easyjf.com/manage.html提供的源代码,登陆用户名和密码:amdin/admin 源代码是开源的,大家可以去下载来使用。 ”
用这个用户名和密码登录不上去啊!!能否把你的例子的源码打成包发布一下,多谢多谢! |
|
返回顶楼 | |
发表时间:2008-02-25
原来EXTJS看久了真的会审美疲劳。
|
|
返回顶楼 | |
发表时间:2008-02-25
为什么不用jpg格式呢?
|
|
返回顶楼 | |
发表时间:2008-02-25
登陆用户名和密码:amdin/admin
登录不上 |
|
返回顶楼 | |
发表时间:2008-02-25
。。。。用户名和密码错误的也发上来。。
做要要厚道 |
|
返回顶楼 | |