EXTJS4.0.7开发积累(1)

EXTJS4.0.7开发积累
有从网络上搜索到的资源,也有自己开发中的总结,侵权告知删除!

mysql

mysql-bin.000001删除

正确方法,通过mysql命令删除:

mysql -u root -p

Enter password:

Welcome to the MySQLmonitor.  Commands end with ; or \g.

Your MySQL connection id is2819416

Server version: 5.5.24-0ubuntu0.12.04.1-log(Ubuntu)

Copyright (c) 2000, 2011, Oracleand/or its affiliates. All rights reserved.

Oracle is a registered trademarkof Oracle Corporation and/or its

affiliates. Other names may betrademarks of their respective

owners.

Type 'help;' or '\h' for help.Type '\c' to clear the current input statement.

mysql> reset master;

Query OK, 0 rows affected (3 min37.65 sec)

关键命令为:reset master;

此命令会清空mysql-bin数据库日志文件。

如果mysql服务器不需要做主从复制,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf添加:

log-bin=mysql-bin

如果需要复制,最好控制下这些日志文件保留的天数,设定日志文件保留的天数:

expire_logs_days = 7

表示保留7天的日志,旧日志会自动被清理掉。

 

1 查询musql-bin,mysql操作日志  

mysql> show master logs;  

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({

 title:'成功',

 msg: action.result.message,

 buttons: Ext.Msg.OK,

 icon: Ext.Msg.INFO

});

如上例子,如果show放在load前,meg会被grid覆盖

actioncolumn图标隐藏方法

getClass部分判断条件,使用x-hidden

{

  icon: 'images/setting.png',

  tooltip: '高级设置',

  getClass:function(v,meta,r){

     if(r.data['compts_xtype']!='grid'){

         return 'x-hidden';

     }

  },

  handler: function(grid, rowIndex, colIndex) {

   this.fireEvent('gridadvsetting',grid,rowIndex,colIndex);

  }

  }

正则表达式

Ext.apply

if(records[0].get('id')!=-1){

 Ext.apply(this.up('window').down('#default_value'),

  {

    regex:new RegExp(records[0].get('regex')),

    regexText:records[0].get('regexText')

  }

 );

}else{

 Ext.apply(this.up('window').down('#default_value'),

  {

    regex:null,

    regexText:''

  }

 );

}

正则表达式

字符串->正则表达式

例如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 对应值(子串)。

1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。

2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。

3、LIKE'%en%'将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)

#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之间的转换

 

存的时候:

String[]returnValue=source.split("<=");

jo.put("array",returnValue);

取的时候:

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'){

     if(record.data['date_time_type']=='datetime'){

       value='日期+时间';

      }

     if(record.data['date_time_type']=='date'){

       value='日期';

      }

     if(record.data['date_time_type']=='time'){

       value='时间';

      }

     }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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值