首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

Extjs开发遇到的有关问题之三

2012-08-27 
Extjs开发遇到的问题之三?? 1,Extjs在前台修改GridPanel中记录后无刷新提交到后台,保存至数据库。???? 引入

Extjs开发遇到的问题之三

?? 1,Extjs在前台修改GridPanel中记录后无刷新提交到后台,保存至数据库。

????

引入<%String path = request.getContextPath();%><script type="text/javascript" src="<%=path%>/ext-3.2/examples/ux/RowEditor.js"></script><link rel="stylesheet" type="text/css" href="<%=path%>/ext-3.2/examples/ux/css/RowEditor.css"/>

??

var editor = new Ext.ux.grid.RowEditor(); editor.on({     scope: this,     afteredit: function(roweditor, changes, record, rowIndex) { //编辑某行Ext.Ajax.request({ url   : '<%=path%>/myAction!updateData.ilf', method: 'post', params: {thresholdUp:changes['thresholdUp'],thresholdDown:changes['thresholdDown'],id:record['id']},     success: function() {dosth....//可重新加载数据}     });     } }); var aGrid = new Ext.grid.GridPanel({    id:'aGridId',    plugins: [editor],     store: dataStore,    cm: cmA,    sm: smgroup,  });var cmA = new Ext.grid.ColumnModel([  smgroup,  {header:'地市',dataIndex:'cityName'},  {header:'性能指标',dataIndex:'performanceParamName'},  {header:'性能下限门限值',dataIndex:'thresholdDown',editor: new Ext.form.NumberField()},   {header:'性能上限门限值',dataIndex:'thresholdUp',editor: new Ext.form.TextField()}]);

? 2,进行Extjs开发,小数点前面0不显示。
????? 在页面上编辑小数时,如果为类似 0.1的值,最后提交后在前台显示时是 .1,自动去掉了0。
???? 实际上是从数据库中取出来,转为json前就是 .1了,因为在oracle中对应该字段是number类型,而java中是string类型,现在hibernate中改为<property name="thresholdDown" column="threshold_down" type="big_decimal"/>
对象中改为java.math.BigDecimal,在前台显示正常。因此还是要注意,数据表中字段什么类型,hibernate中尽量是什么类型。

?

? 3,对于前台输入,页面上限制输入,只要求是数字,用Ext.form.NumberField。

?

??4,GridPanel中:
????? var rows = Ext.getCmp('aGridId').getSelectionModel().getSelections();
?? 和var rows = aGrid.getSelectionModel().getSelections();意思相同。
???? alert(rows[i].data.id);

?? 和alert(rows[i].get('id'));意思相同

?

? 5,1》hibernate删除多条记录的一个方法(extjs开发时也用到了):

?

String ids = object.getIds();if(AppUtil.isNotNull(ids)){String int_ids[] = ids.split(",");List list = new ArrayList();for (String int_id : int_ids) {RmsPerThresEarlyalarmKpi obj = new RmsPerThresEarlyalarmKpi();obj.setId(Integer.valueOf(int_id));list.add(obj);}getHibernateTemplate().deleteAll(list);}

????? 2》no persistent classes found for query class错误:hibernate中是否有对应的类,及对应的hbm文件

? 6,Ext.tree.TreePanel多级显示是否有叶子显示。loader加载时返回的json中leaf:true是叶子。

? 7,Ext.ComponentMgr.all.each(function(r){alert(r.id)});??? 把所有的组件的id打出来

????? TextField:fieldLabel:标签名称。 labelWidth:标签宽度。

? 8,页面显示为table页形式

?

//先设置一个TabPanel,renderTo: 'main'指向 <body >  <div id='form'></div>  <div id='main'></div>  </body>//在js中var gridpanel= new Ext.Panel({ title: '查询信息', collapsible: true, collapsed: false, items:[grid]}); var tabs = new Ext.TabPanel({ height:400, title: '设定', collapsible: true, collapsed: false, renderTo: 'main' }); tabs.add({id: Ext.id(),title:'列表',items:[gridpanel]}); tabs.activate(0);//默认显示第一个tab标签

??

?? 9,两个char类型的用==比较就行,比较的是值。
?????? String ids = "aa,";
?????? ids.charAt(ids.length()-1)==','
-----------
????? if(ids.lastIndexOf(",")==ids.length()-1)

??

?? 10,如果提示信息出不来,需加上Ext.QuickTips.init(); 在 Ext.onReady(function(){后面

?

?

?

热点排行