⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 list.js

📁 Extjs2增删改查
💻 JS
📖 第 1 页 / 共 2 页
字号:
 * @param Key
 */
GridConfig.prototype.getRecord=function() {
    var key=this.key;
    var record = new Array();
    for (var i = 0; i <key.length; i++)
    {
        record[i] = {name:key[i]};
    }
    return record;
}
/**
 * define the column of the grid
 * @param Key
 */
GridConfig.prototype.getColumn=function(){
    var key=this.key;
    var type=this.type;
    var header=this.header;
    var j=2;
    var column = new Array();
    column[0] = new Ext.grid.RowNumberer();
    column[1] = new Ext.grid.CheckboxSelectionModel();
    for (var i = 0; i < key.length; i++)
    {
        if(header[i]=="")
        {
        }
        else
        {
            if(type[i] == "String")
            {
                column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:160,editor:new Ext.form.TextField({})};
            }
            if(type[i] == "Datetime")
            {
                column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:160,renderer:new Ext.util.Format.dateRenderer('Y年m月d日'),editor:new Ext.form.DateField({format:'Y-m-d'})};
            }
            if(type[i] == "Number")
            {
                column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:160,editor:new Ext.form.NumberField({})};
            }
            if(type[i] == "LongString")
            {
                column[j] = {header:header[i],dataIndex:key[i],sortable:true,width:160,editor:new Ext.form.TextArea({})};
            }
            j++;
        }
    }
    return  new Ext.grid.ColumnModel(column);
}
/**
 * define the items for the form which used to add a new record
 * @param Key
 */
GridConfig.prototype.getFormItems=function ()
{
    var key=this.key;
    var type=this.type;
    var header=this.header;
    var items = new Array();
    var j=0;
    for (var i = 0; i < key.length; i++)
    {
        if(header[i]=="")
        {
        }
        else
        {
            if(type[i] == "String")
            {
                items[j] = {fieldLabel:header[i],name:key[i]};
            }
            if(type[i] == "Datetime")
            {
                items[j] = {fieldLabel:header[i],name:key[i],xtype:'datefield',
                    renderer:Ext.util.Format.dateRenderer('Y/m/d'),
                    format:'Y/m/d'};
            }
            if(type[i] == "Number")
            {
                items[j] = {fieldLabel:header[i],name:key[i],xtype:'numberfield'};
            }
            if(type[i] == "LongString")
            {
                items[j] = {fieldLabel:header[i],name:key[i],xtype:'textarea'};
            }
            j++;
        }
    }
    return items;
}
/**
 * get the data for the form
 * @param Key
 */
GridConfig.prototype.getAddRecord=function()
{
    var key=this.key;
    var type=this.type;
    var header=this.header;
    var addRecord = new Object();
    for (var i = 0; i < key.length; i++)
    {
        if( header[i]!="")
        {
            if(type[i] == "Datetime")
            {
                addRecord[key[i]] =new Date(Ext.get(key[i]).dom.value);
            }
            else
            {
                addRecord[key[i]] = Ext.get(key[i]).dom.value;
            }
        }
    }
    return addRecord;
}


/**
 * class  query
 */
function QueryConfig(data)
{
    this.data=data;
    this.stringOp = new Ext.data.SimpleStore({
        fields: ['value','text'],
        data : [["","选择关系运算符"],['=','='],['<>','<>'],
                ["like '|%'",'以...开头'],["like '%|'",'以...结尾'],["like '%|%'",'包含字符'],["not like '%|%'",'不包含字符'],
                ['is null','空白'],['is not null','非空白']]
    });
    this.datetimeOp = new Ext.data.SimpleStore({
        fields: ['value','text'],
        data : [["","选择关系运算符"],['=','='],['<>','<>'],['<','<'],['<=','<='],['<','>'],['>=','>='],['is null','空白'],['is not null','非空白'],["between","between"]]
    });
    this.numberOp=this.datetimeOp;

}

QueryConfig.prototype.getOpStore=function(type){
    var _store;
    if(type=="String")
    {
        _store=this.stringOp;
    }else if(type=="Number")
    {
        _store=this.numberOp;
    }else if(type="Datetime")
    {
        _store=this.datetimeOp;
    }
    return _store;
}
/**
 * get the Editor for each column
 * @param type
 */
QueryConfig.prototype.getEditor=function(type){
    var editor;
    if(type=="String")
    {
        editor=new Ext.form.TextField({});
    }
    else if(type=="Number")
    {
        editor=new Ext.form.NumberField({});
    }
    else if(type="Datetime")
    {
        editor=new Ext.form.DateField({fomat:"Y-m-d"});
    }
    return editor;
}
/**
 * init the query grid
 */

QueryConfig.prototype.getQueryGrid=function(){
    var qeuryConfig=this;
    var stringeditor=new Ext.form.TextField({});
    var store=new Ext.data.SimpleStore({data:qeuryConfig.data,fields:["entity","type","columnName","operator","firstValue","secondValue","andOr","bracket","name"]});
    var colM=new Ext.grid.ColumnModel([
    {header:"字段名称",dataIndex:"name",sortable:true},
    {header:"运算符",dataIndex:"operator",editor:stringeditor},
    {header:"数值1",dataIndex:"firstValue",width:150,editor:stringeditor,renderer:displayValue},
    {header:"数值2",dataIndex:"secondValue",width:150,editor:stringeditor,renderer:displayValue},
    {header:"关系",dataIndex:"andOr",editor: new Ext.form.ComboBox({
        store: [["","请选择括号.."],["and","and"],["or","or"]],
        mode: 'local',
        triggerAction: 'all',
        valueField: 'value',
        displayField: 'text',
        editable: false
    })},
    {header:"括号",dataIndex:"bracket", hidden:true,editor: new Ext.form.ComboBox({
        store:[["","请选择括号.."],["(","("],[")",")"]],
        mode: 'local',
        triggerAction: 'all',
        valueField: 'value',
        displayField: 'text',
        editable: false
    })}
            ]);

    var grid = new Ext.grid.EditorGridPanel({
        id:"querygrid",
        title:"查询",
        autoHeight:true,
        width:700,
        cm:colM,
        clicksToEdit:1,
        store:store,
        selModel: new Ext.grid.RowSelectionModel({singleSelect:false}),
        autoExpandColumn:2
    });
    grid.on("beforeedit",function(e){
        var record=grid.getSelectionModel().getSelected();
        if (e.column==1)
        {
            var _store=qeuryConfig.getOpStore(record.get("type"));
            var Opcombox=new Ext.form.ComboBox({
                store: _store,
                mode: 'local',
                triggerAction: 'all',
                valueField: 'value',
                displayField: 'text',
                editable: false
            });
            grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(Opcombox));
        }
        if (e.column==2)
        {
            var gridEditor2=qeuryConfig.getEditor(record.get("type"));
            if(getParamsNum(record.get("operator"))==0)
            {
                grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(null));
            }
            if(getParamsNum(record.get("operator"))==1||getParamsNum(record.get("operator"))==2)
            {
                grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(gridEditor2));
            }
        }
        if (e.column==3)
        {
            var gridEditor3=qeuryConfig.getEditor(record.get("type"));
            if(getParamsNum(record.get("operator"))==0||getParamsNum(record.get("operator"))==1)
            {
                grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(null));
            }
            if(getParamsNum(record.get("operator"))==2)
            {
                grid.colModel.setEditor(e.column,new Ext.grid.GridEditor(gridEditor3));
            }
        }
    });

    grid.on("afteredit",function(e){
        var record=grid.getSelectionModel().getSelected();
        if (e.column==1)
        {
            if(getParamsNum(record.get("operator"))==0)
            {
                record.set("firstValue","");
                record.set("secondValue","");
            }
            if(getParamsNum(record.get("operator"))==1)
            {
                record.set("secondValue","");
            }
        }
    });
    return grid;
};
/**
 * according the operator's type,we can get the amount of the params that used to query
 * @param operator
 */
function getParamsNum(operator)
{
    var ParamsNum;
    if(operator=="is null"||operator=="is not null"||operator=="")
    {
        ParamsNum = 0;
    }
    else if(operator=="between")
    {
        ParamsNum = 2;
    }
    else
    {
        ParamsNum =1 ;
    }
    return ParamsNum;
}
/**
 * format the date.
 * @param value
 */
function displayValue(value)
{
    var formatValue=value;
    if(formatValue.toString().indexOf("UTC")>=0)
    {
        var dt = new Date(formatValue);
        formatValue=dt.format('Y-m-d');
    }
    return formatValue;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -