📄 list.js
字号:
* @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 + -