结合工作内容,不定期更新。这里面可能会讲到一些常用的组件的操作。
json: {
"total": 30,
"data": [{
"funcAlign": "C",
"docNo": "ap5200_p",
"descMsg": "账龄分析",
"passWord": "",
"allowModify": "N",
"pageAlign": "C",
"titleFontSize": 20,
"funcFontSize": 8,
"titleHeight": 40,
"allowPrint": "N",
"tableName": "ap_rs_age_analysis",
"allowCopy": "N",
"modelFlag": "1",
"prtServer": "",
"sqlStatament": "",
"authNeeded": "N",
"pageNeeded": "Y",
"isMix": "N",
"pwNeeded": "N",
"pageSize": "KUANHANG",
"companyName": "",
"isRotate": "N",
"companyCode": "01",
"footer": "",
"maxLine": 10000,
"presentFontSize": 8,
"xmlPath": "",
"headFontSize": 8,
"headAlign": "C"
}
1.gridPanel
这个最常用,就是表格嘛,从后台接到收据的store里面读出数据,比如我传递了一个json,里面是对象的各个属性,那么我在前台显示的话,就要这样。
其中有一个可以自己调整部分字体颜色,比如如果是Y就显示对号,是N就显示X号,截图如下:
这个是关键点:
renderer : function(value){ return value=='Y'?'<b style="color:red">√ </span>':'<span style="color:green">否</span>' }
this.gridPanel = new Ext.grid.GridPanel({
autoScroll : true,
region : 'center',
store : this.store,
sm : sm,
cm : new Ext.grid.ColumnModel([sm,
new Ext.grid.RowNumberer({
header : '序号',
width : 35
}), {
xtype : 'actioncolumn',
header : '操作',
align : 'center',
width : 60,
items : [{
iconCls : 'report-pdf-edit',
tooltip : '修改',
handler : this.doEdit,
scope : this
}, {
iconCls : 'report-pdf-edit',
tooltip : '明细',
handler : this.openPdfHead,
scope : this
}] }, {
dataIndex : 'docNo',
sortable : true,
header : '文档名称',
width : 120,
align : 'left'
}, {
dataIndex : 'descMsg',
sortable : true,
header : '抬头信息',
width : 120,
align : 'left'
}, {
header : '对应表名',
dataIndex : 'tableName',
width : 120,
align : 'left'
}, {
header : '最大行数',
dataIndex : 'maxLine',
width : 120,
align : 'right'
}, {
header : '题头字号',
dataIndex : 'titleFontSize',
width : 120,
align : 'right'
}, {
header : '表头字号',
dataIndex : 'headFontSize',
width : 120,
align : 'right'
}, {
header : '数据字号',
dataIndex : 'presentFontSize',
width : 120,
align : 'right'
}, {
header : '题头高度',
dataIndex : 'titleHeight',
width : 120,
align : 'right'
}, {
header : '纸张类型',
dataIndex : 'pageSize',
width : 120,
align : 'center'
}, {
header : '横向打印',
dataIndex : 'isRotate',
width : 120,
align : 'center',
renderer : function(value){
return value=='Y'?'<b style="color:red">√ </span>':'<span style="color:green">否</span>'
}
}, {
header : '隔行变色',
dataIndex : 'isMix',
width : 120,
align : 'center',
renderer : function(value){
return value=='Y'?'√ ':'X'
}
}, {
header : 'sql语句',
dataIndex : 'sqlStatament',
width : 120,
align : 'left'
}])
});
2. 单选框 new Ext.form.RadioGroup
这个取值拿值是根据json里传来的值去自动判断的,所以前台只需要定义好你的Y值落在哪个单选框上即可。
3.数字文本框 NumberField
this.headWidth = new Ext.form.NumberField({
id : 'width',
name :'width',
fieldLabel : '宽度',
allowDecimals : false,//是否允许有小数点输入
minValue : 1,//最小值
width : 120
});
4.下拉框 Ext.form.ComboBox
this.align = new Ext.form.ComboBox({
id : 'align',
name : 'align',
fieldLabel : '对齐方式',//
width : 120,
displayField : 'alignName',
valueField : 'align',
mode : 'local',
triggerAction : 'all',
value : 'C',
store : new Ext.data.ArrayStore({
fields : ['align', 'alignName'],
data : [['L', 'L-居左'], ['C', 'C-居中'],
['R', 'R-居右']]
})
});