有时候需要做成表格形式的,用gridpanel有点大材小用了。
//grid.js
{
flex:1,
xtype: 'propertygrid',
reference:'onuGridPanel',
//隐藏表头
hideHeaders:true,
margin:'10px',
bodyBorder:true,
border:true,
disableSelection:true,
//不让表格排序 默认是排序的
sortableColumns:false,
//表格的宽度
nameColumnWidth: 165,
viewConfig:
{
//表格的样式
getRowClass: function (record, rowIndex, rowParams, store)
{
return rowIndex % 2 !== 0 ? 'new-grid-rows' : 'new-grid-rows-other'
}
},
//字段与对应的中文映射
propertyNames : {
'name':'name',
'age':'age',
'tel':'tel'
},
source:
{
//这块是表格显示的内容
'name': 'echo',
'age': '-16',
'tel': '123456789090'
},
sourceConfig: {
//对表格对应的内容做配置
'name':
{
displayName: '姓名',
renderer: function (value)
{
return Ext.String.format('<span style="color: red;">{0}</span>', value);
}
},
'tel':
{
displayName: '电话号码',
renderer: function (value, metadata)
{
metadata.tdAttr = Ext.String.format('data-qtip="{0}"', value);
return value;
}
}
},
listeners:
{
//不可以选中表格,意思就是说你点击表格的时候不会出现编辑框
'beforeedit': function(e)
{
e.cancel = true;
return false;
}
}
未使用属性sortableColumns:false之前,默认是true
使用属性sortableColumns:false之后
//css样式 不用x-grid-rows原因是框架里面默认的样式都是x-开头的,避免混淆
.new-grid-rows {
height: 27px;
font-size: 14px;
line-height: 27px;
font-family: Tahoma, Helvetica, Arial, Verdana;
font-weight: normal;
background-color: #f9f9f9
}
.new-grid-rows-other {
height: 27px;
line-height: 27px;
font-size: 14px;
font-family: Tahoma, Helvetica, Arial, Verdana;
font-weight: normal
}
x-grid-cell-name 单元格样式 可以用来设置左边栏的背景等
说下更新数据 在controller里面
this.getReferences = this.getReferences();
this.getReferences.onuGridPanel.setSource(
{
'name': '张三',
'age': '18',
'tel': '654788999999'
});
转载请标明出处,祝天天开心!