EXTJS4.0.7开发积累
有从网络上搜索到的资源,也有自己开发中的总结,侵权告知删除!
mysql mysql-bin.000001删除 | 正确方法,通过mysql命令删除:
关键命令为:reset master; 此命令会清空mysql-bin数据库日志文件。 如果mysql服务器不需要做主从复制,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf添加:
如果需要复制,最好控制下这些日志文件保留的天数,设定日志文件保留的天数:
表示保留7天的日志,旧日志会自动被清理掉。
1 查询musql-bin,mysql操作日志
2 删除,保留最新 mysql>purge master logs to ‘mysql-bin.00001′ |
JS eval | eval('test1!=test2');报错 eval("'test1'!='test2'");true 没有单引号,test1/test2都会被理解为变量 |
Ext.Msg.show modal默认true 注意和别的控件配合时的顺序 | view.close(); view.parentWindow.down('#miGrid').getStore().load(); Ext.Msg.show({
}); 如上例子,如果show放在load前,meg会被grid覆盖 |
actioncolumn图标隐藏方法 getClass部分判断条件,使用x-hidden | {
} |
正则表达式 Ext.apply | if(records[0].get('id')!=-1){
}else{
} |
正则表达式 字符串->正则表达式 | 例如textfield需要此配置:regex:/^[a-zA-Z0-9\u4E00-\u9FA5]+$/,因为应用的需要,正则表达式部分需要从数据库获取,采用如下方法: 字符串为regex_tmp="^[a-zA-Z0-9\u4E00-\u9FA5]+$"(没有反斜杠) regex:new RegExp(regex_tmp)(会自动添加反斜杠) 如果直接使用字符串会提示regex.test方法有问题。 |
SQL的LIKE语法 | LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串)。
|
#grid_filter_enable是checkbox控件, 取值决定后面的button是否enable 注意比较值=='true' | if(thiswindow.parentwindow.down('#grid_filter_enable').getValue()=='true'){ thiswindow.down('#grid_filter_button').enable(); }else{ thiswindow.down('#grid_filter_button').disable(); } |
extjs中,window嵌套form的时候 | window的layout设置为fit,form的layout就不要设置为fit了,否则会出现很奇怪的一面表现-----痛苦的经历哦 |
删除id为null的记录 | mysql> delete from t8where id is null; |
List去重 | import java.util.ArrayList; import java.util.HashSet; import java.util.List;
public class Test { public static void main(String[] args) { List<String> listWithDup = newArrayList<String>(); listWithDup.add("1"); listWithDup.add("2"); listWithDup.add("3"); listWithDup.add("1");
List<String> listWithoutDup = newArrayList<String>(new HashSet<String>(listWithDup)); System.out.println("list withdup:"+ listWithDup); System.out.println("list withoutdup:"+ listWithoutDup); } } |
String[]到JsonArray之间的转换
| 存的时候:
取的时候: JSONArrayreturnArray=(JSONArray)jo.get("array"); for(inti=0;i<returnArray.size();i++){ System.out.println(returnArray.getString(i)); } 注:returnArray.getString(i)也可以写成get(i),在类型要求比较严格的地方建议写成getString(i) |
JSONArray.fromObject 新用法 | Stringxxx="[{'sub_query_name':'子查询#系统用户数_3'},{'sub_query_name':'子查询#系统用户数_4'}]"; JSONArray array = JSONArray.fromObject(xxx); System.out.println("array.size:"+array.size()); for(int i=0;i<array.size();i++){ System.out.println("jo:"+((JSONObject)array.get(i)).getString("sub_query_name")); } |
Stringxxx=request.getParameter(tmp_key); if(!xxx.isEmpty()){ set_string.append(xxx); }else{ set_string.append("null"); } | |
Extjs为空不提交问题 timefield为空不提交 datetimefield为空不提交 datefield为空可以提交
checkbox为空好像也不提交??? | timefield解决方法: Ext.define('Ext.ux.TimeField',{ override: 'Ext.form.field.Time',
getSubmitValue: function() { var me = this, format = me.submitFormat ||me.format, value = me.getValue(); return value ? Ext.Date.format(value,format) : ""; } });
datetimefield解决方法(datetime为自定义):重载如下的方法 getSubmitValue: function() { var me = this, format = me.submitFormat ||me.format, value = me.getValue(); return value ? Ext.Date.format(value,format) : ""; } |
sql查询单个字段的处理 | sub_query_sql查询单个字段的原始值: List<?>xx=jdbcDAO.getMapList(sub_query_sql.toString()); JSONArray xxx =JSONArray.fromObject(xx); Stringwww=xxx.getJSONObject(0).getString(sub_col.getDb_col_name()); // String xxx=xx.get(0).toString();返回的是logicsys_1_tbl_1_col2=user12 jo.put("value","'"+www+"'");
jdbcDAO.getLongValue(sub_query_sql.toString()); 如果原始值本身为空,会返回0 |
grid的renderer问题
render方法参数里面可以有record | db_col_type_render:function(value,meta,record){ if(value=='varchar'){ value='字符串'; }else if(value=='decimal'){ value='数字'; }else if(value=='datetime'){
}else if(value=='text'){ value='文本'; } return value; } |
tabpanel上多个grid actionclumn动作在controller里的区分 | tabpanel的grid上使用如下: ,{ header:'操作', xtype:'actioncolumn', action:'sub_action_edit', width:40, items: [{ icon:'images/edit.png', // Use a URL in theicon config tooltip: '详细信息', handler: function(grid,rowIndex, colIndex) { this.fireEvent('itemclick',grid,rowIndex,colIndex); } }] } 在controller里面使用如下进行识别: 'buttonsettingactioncolumn[action=sub_action_edit]':{ itemclick:this.into_buttonlogicedit } |
js以逗号分割的字符串删除方法 | varbleo=win.parentwindow.down('#button_logic_exe_order').getValue(); var bleo_arr=bleo.split(','); var bleo_new=Ext.Array.remove(bleo_arr,eval("'"+eval(values).id+"'")).toString(); win.parentwindow.down('#button_logic_exe_order').setValue(bleo_new); |