导航:首页 > 编程语言 > extjs5grid在线演示

extjs5grid在线演示

发布时间:2025-01-08 02:14:06

① extjs grid 列头分行



/**

* 表格综合示例

*

* @author XiongChun

* @since 2010-10-20

*/

Ext.onReady(function() {


group1 = [{}, {

header : '分组1-1a',

colspan : 4,

align : 'center'

}, {}, {

header : '分组1-3',

colspan : 5,

align : 'center'

}];


var group2 = [{}, {

header : '分组2-1',

colspan : 2,

align : 'center'

}, {

header : '分组2-2',

colspan : 2,

align : 'center'

}, {

header : '单位',

rowmerge:true,

domid:'group_dw',

align : 'center'

}, {

header : '分组2-3',

colspan : 2,

align : 'center'

}, {

header : '分组2-4',

colspan : 3,

align : 'center'

}];

/*

var group = new Ext.ux.grid.ColumnHeaderGroup({

rows : [group1, group2]

});

*/


var group = new Ext.ux.plugins.GroupHeaderGrid({

rows : [group1, group2]

});


// 定义自动当前页行号

var rownum = new Ext.grid.RowNumberer({

header : 'NO',

width : 28

});

// 复选框

var sm = new Ext.grid.CheckboxSelectionModel();


// 定义列模型

var cm = new Ext.grid.ColumnModel([rownum, {

header : '项目ID', // 列标题

dataIndex : 'xmid', // 数据索引:和Store模型对应

sortable : true

// 是否可排序

}, {

header : '项目名称',

dataIndex : 'xmmc',

sortable : true,

width : 200

}, {

header : '项目热键',

dataIndex : 'xmrj'

}, {

header : '规格',

dataIndex : 'gg'

}, {

dataIndex : 'dw',

align:'center',

fixed:true,

width : 60

}, {

header : '启用状态',

dataIndex : 'qybz',

// 演示render的用法(代码转换,该render由<G4Studio:ext.codeRender/>标签生成)

renderer : QYBZRender,

width : 60

}, {

header : '剂型',

dataIndex : 'jx',

width : 60

}, {

header : '产地',

dataIndex : 'cd',

width : 200

}, {

header : '医院编码',

dataIndex : 'yybm'

}, {

header : '更改时间',

dataIndex : 'ggsj'

}]);


/**

* 数据存储

*/

var store = new Ext.data.Store({

// 获取数据的方式

proxy : new Ext.data.HttpProxy({

url : 'gridDemo.do?reqCode=querySfxmDatas'

}),

// 数据读取器

reader : new Ext.data.JsonReader({

totalProperty : 'TOTALCOUNT', // 记录总数

root : 'ROOT' // Json中的列表数据根节点

}, [{

name : 'xmid' // Json中的属性Key值

}, {

name : 'sfdlbm'

}, {

name : 'xmmc'

}, {

name : 'xmrj'

}, {

name : 'gg'

}, {

name : 'dw'

}, {

name : 'qybz'

}, {

name : 'jx'

}, {

name : 'cd'

}, {

name : 'yybm'

}, {

name : 'ggsj'

}])

});


/**

* 翻页排序时候的参数传递

*/

// 翻页排序时带上查询条件

store.on('beforeload', function() {

this.baseParams = {

xmmc : Ext.getCmp('xmmc').getValue()

};

});

// 每页显示条数下拉选择框

var pagesize_combo = new Ext.form.ComboBox({

name : 'pagesize',

triggerAction : 'all',

mode : 'local',

store : new Ext.data.ArrayStore({

fields : ['value', 'text'],

data : [[10, '10条/页'], [20, '20条/页'],

[50, '50条/页'], [100, '100条/页'],

[250, '250条/页'], [500, '500条/页']]

}),

valueField : 'value',

displayField : 'text',

value : '20',

editable : false,

width : 85

});

var number = parseInt(pagesize_combo.getValue());

// 改变每页显示条数reload数据

pagesize_combo.on("select", function(comboBox) {

bbar.pageSize = parseInt(comboBox.getValue());

number = parseInt(comboBox.getValue());

store.reload({

params : {

start : 0,

limit : bbar.pageSize

}

});

});


// 分页工具

var bbar = new Ext.PagingToolbar({

pageSize : number,

store : store,

displayInfo : true,

displayMsg : '显示{0}条到{1}条,共{2}条',

plugins : new Ext.ux.ProgressBarPager(), // 分页进度条

emptyMsg : "没有符合条件的记录",

items : ['-', '&nbsp;&nbsp;', pagesize_combo]

});


// 表格工具栏

var tbar = new Ext.Toolbar({

items : [{

xtype : 'textfield',

id : 'xmmc',

name : 'xmmc',

emptyText : '请输入项目名称',

width : 150,

enableKeyEvents : true,

// 响应回车键

listeners : {

specialkey : function(field, e) {

if (e.getKey() == Ext.EventObject.ENTER) {

queryCatalogItem();

}

}

}

}, {

text : '查询',

iconCls : 'page_findIcon',

handler : function() {

queryCatalogItem();

}

}, {

text : '刷新',

iconCls : 'page_refreshIcon',

handler : function() {

store.reload();

}

},'->' ,{

text : '重设列标题',

iconCls : 'acceptIcon',

handler : function() {

cm.setColumnHeader('2','开天辟地');

}

}, {

text : '重设分组列标题',

iconCls : 'acceptIcon',

handler : function() {

Ext.getDom('group_dw').innerHTML = '开天辟地';

}

}]

});


// 表格实例

var grid = new Ext.grid.GridPanel({

// 表格面板标题,默认为粗体,我不喜欢粗体,这里设置样式将其格式为正常字体

title : '<span class="commoncss">表格综合演示七(表头分组支持)</span>',

height : 500,

frame : true,

autoScroll : true,

region : 'center', // 和VIEWPORT布局模型对应,充当center区域布局

margins : '3 3 3 3',

store : store, // 数据存储

stripeRows : true, // 斑马线

cm : cm, // 列模型

tbar : tbar, // 表格工具栏

bbar : bbar,// 分页工具栏

plugins : group,

viewConfig : {

// 不产横向生滚动条, 各列自动扩展自动压缩, 适用于列数比较少的情况

// forceFit : true

},

loadMask : {

msg : '正在加载表格数据,请稍等...'

}

});


// 页面初始自动查询数据

// store.load({params : {start : 0,limit : bbar.pageSize}});


// 布局模型

var viewport = new Ext.Viewport({

layout : 'border',

items : [grid]

});


// 查询表格数据

function queryCatalogItem() {

store.load({

params : {

start : 0,

limit : bbar.pageSize,

xmmc : Ext.getCmp('xmmc').getValue()

}

});

}


});

② Extjs grid列里怎么显示图片

Ext.onReady(function(){
varcm=newExt.grid.ColumnModel([newExt.grid.RowNumberer(),{
header:'编号',
dataIndex:'id',
sortable:true
},{
header:'性别',
dataIndex:'sex',
renderer:function(value){
if(value=='male'){
return"<spanstyle='color:green;font-weight:bold;'>绿男</span><imgsrc='user_male.gif'/>";
}else{
return"<spanstyle='color:red;font-weight:bold;'>红女</span><imgsrc='user_female.gif'/>";
}
},
sortable:true
},{
header:'名称',
dataIndex:'name',
align:"center",
sortable:true
}]);
vardata=[['1','male','name1','descn1'],
['2','female','name2','descn2'],
['3','male','name3','descn3'],
['4','female','name4','descn4'],
['5','male','name5','descn5'],
['6','female','name6','descn6']];
vards=newExt.data.Store({
proxy:newExt.data.MemoryProxy(data),
reader:newExt.data.ArrayReader({},[
{
name:'id'
},//{name:'id',mapping:1},
{
name:'sex'
},{
name:'name'
},{
name:'descn'
}])
});
ds.load();
vargrid=newExt.grid.GridPanel({
title:'GridPanel',
id:'view_grid',
renderTo:'grid',
ds:ds,
cm:cm,
width:400,
autoHeight:true,
autoWidth:true,
enableColumnMove:false,
autoSizeColumns:true,//根据每一列内容的宽度自适应列的大小
trackMouseOver:true,//鼠标移动时高亮显示
frame:true,
selModel:newExt.grid.RowSelectionModel({
singleSelect:true
}),
iconCls:'icon-grid'
});
});

如图所示,图片是绿色和红色的人,根据值,判断显示什么颜色的。你可以改成根据0或1显示或不显示图片。

③ EXTJS中如何调整Grid的长度,根据浏览器(谷歌)自动调整

一般在EXT中 , 会把组件都放到viewport中 , viewport 是一个自动适应浏览去整个区域的一个容器...

可以把其他的组件都放到viewport中...

比如你上面的grid..可以放到viewport中 , 然后viewport设置 layout = fit 就可以...

具体可以去查看一下API.

//下面代码是直接从API的例子中复制的..可以看一下
Ext.create('Ext.container.Viewport',{
layout:'border',
items:[{
region:'north',
html:'<h1class="x-panel-header">PageTitle</h1>',
border:false,
margins:'0050'
},{
region:'west',
collapsible:true,
title:'Navigation',
width:150
//
},{
region:'south',
title:'SouthPanel',
collapsible:true,
html:'Informationgoeshere',
split:true,
height:100,
minHeight:100
},{
region:'east',
title:'EastPanel',
collapsible:true,
split:true,
width:150
},{
region:'center',
xtype:'tabpanel',//TabPanelitselfhasnotitle
activeTab:0,//Firsttabactivebydefault
items:{
title:'DefaultTab',
html:'Thefirsttab'scontent.Othersmaybeaddeddynamically'
}
}]
});

④ extjs grid报错。this.el.dom为空或不是对象。

你的写法有点奇怪。不过根据你的报错信息应该是没有渲染的对象。
错误应该出在grid.render()上,应该携程grid.render('grid'),引号的grid就是你页面上那个div的id

⑤ extjs5 定义grid 列时如何自定义一个颜色列表选择的combox

var myData = [ ['2008-08-05 12:11:11',0.03], ['2008-09-06 12:07:19',1.63] ]; store.loadData(myData); var grideast = new Ext.grid.GridPanel({ store: store, }) 重新创建myData数组,再调用内 store.loadData(myData);就行容。

⑥ 如何让Extjs4.1中的treegrid和treestore实现分页

Extjs treeGrid分页实例,项目中用到,拿出来跟大家分享一下,主要是通过两个store实现。

[javascript] view plain
ProTreeGrid = Ext.extend(Ext.tree.Panel, {
_baseParam : {
process : '项目立项',
isShow : 'true',
start : 1
},
constructor : function(_config) {
if (_config == null)
_config = {};
Ext.apply(this, _config);

this.store1 = Ext.create('Ext.data.JsonStore', {
autoLoad : true,
pageSize : basicConstant.LIMIT,
proxy : {
type : 'ajax',
url : "xmgl/pro-info-manage!page.action",
extraParams : this._baseParam,
reader : {
type : 'json',
root : 'rows',
totalProperty : "totalCount"
}
},
model : 'ProInfo'
});

this.store = Ext.create('Ext.data.TreeStore', {
model : 'ProInfo',
proxy : {
type : 'ajax',
url : 'xmgl/pro-info-manage.action'
},
folderSort : true,
listeners : {
'beforeload' : {
fn : function(_s, _op, _e) {
this._baseParam.limit = basicConstant.LIMIT;
_s.proxy.extraParams = this._baseParam;
},
scope : this
}
}
});

this['selModel'] = Ext.create('Ext.selection.TreeModel', {
mode : 'SINGLE',
listeners : {
'selectionchange' : {
fn : this.selectionChangeHandler,
scope : this
}
}
});
this['columns'] = [ {
xtype : 'treecolumn',
text : '项目性质',
flex : 1,
sortable : true,
dataIndex : 'proClass'
}, {
text : '项目名称',
flex : 2.5,
dataIndex : 'proName',
sortable : true
}, {
text : '流程状态',
flex : .75,
dataIndex : 'process',
sortable : true
}, {
text : '项目时间',
xtype : 'datecolumn',
format : 'Y-m-d',
dataIndex : 'crTime',
sortable : true,
flex : .85
}, {
text : '项目编号',
flex : 1,
dataIndex : 'proNo',
sortable : true
}, {
text : '项目单位',
flex : 1,
dataIndex : 'unit',
sortable : true
}, {
text : '优先级',
flex : .6,
dataIndex : 'priority',
sortable : true
}, {
text : '项目类型',
flex : .75,
dataIndex : 'proType',
sortable : true
}, {
text : '项目内容',
flex : 2,
dataIndex : 'proContent',
sortable : true
}, {
text : '附件数',
flex : .6,
dataIndex : 'fileCount',
sortable : true
} ]
ProTreeGrid.superclass.constructor.call(this, {
useArrows : true,
height : this._height,
width : this._width,
autoScroll : true,
rootVisible : false,
dockedItems : [ {
_treeGrid : this,
xtype : 'pagingtoolbar',
id : 'PROTREEGRID_PAGEBAR',
store : this.store1,
dock : 'bottom',
displayInfo : true,
listeners : {
change : function(obj, pdata, options) {
if(this._treeGrid._baseParam.start==pdata.currentPage)
return;
this._treeGrid._baseParam.start = pdata.fromRecord;
this._treeGrid._baseParam.limit = basicConstant.LIMIT;
this._treeGrid.store.load( {
params : this._treeGrid._baseParam
});
}
}
} ],
viewConfig : {
stripeRows : true,
enableTextSelection : true,
getRowClass : function(record) {
if (record.get("proClass") == '收入项目') {
return 'srcss';
} else if (record.get("proClass") == '支出项目') {
return 'zccss';
}
}
},
tbar : new Ext.toolbar.Toolbar( {
id : 'TBAR_PROTREEGRID',
items : [ new ProClassQueryCombo( {
width : 140,
labelWidth : 60
}), '-', '项目名称:', {
xtype : 'textfield',
width : 70
}, '无分项总体项目显示:', {
xtype : 'checkbox',
checked : true,
width : 70
}, {
text : "查询",
icon : 'images/icons/search.gif',
handler : this.onSearch,
scope : this
}, {
text : "重置",
icon : 'images/icons/del.gif',
handler : this.onReset,
scope : this
}, {
text : "高级查询",
icon : 'images/icons/search.gif',
handler : this.onAdvSearch,
scope : this
} ]
})
});
},
selectionChangeHandler : function() {
},
reLoadData : function() {
this.store.load( {
params : this._baseParam
});
this.store1.load( {
params : this._baseParam
});
},
onSearch : function() {
var _param = {};
var _tbar = Ext.getCmp('TBAR_PROTREEGRID');
_param.process = _tbar.items.items[0].value;
_param.proClass = _tbar.items.items[2].value;
_param.proName = _tbar.items.items[5].value;
_param.isShow = _tbar.items.items[7].value;
// this.store1.load(1);
this._baseParam = _param
this.reLoadData();
},
onReset : function() {
var _tbar = Ext.getCmp('TBAR_PROTREEGRID');
_tbar.items.items[0].setValue('项目立项');
_tbar.items.items[2].setValue('');
_tbar.items.items[5].setValue('');
this._baseParam = {
process : '项目立项',
isShow : 'false'
};
},
onAdvSearch : function() {
new ProQueryWin( {
_grid : this,
_process : '项目立项'
}).show();
}

});

⑦ 关于extjs grid复制粘贴功能

editor:newExt.form.DateField({id:"id1"}),
renderer:function(value,metadata,record,rowIndex,colIndex,store){
//这里有,有stroe,你想要的值不都有了么
//比如,这个加在第三列,然后你肯定知道行数,用store定位到某行的record,那么所有的值不都有了么,然后想怎么赋值不就怎么赋值(复制)了么
}

详细的你可以查api

Ext.grid.Column中:

renderer
:Function
(可选)当该方法通过传递以下参数时,会返回可显示的数据:
value:Object
该单元格的数据值。
metadata:Object
一个对象,您可以在其中设置以下属性:

css:String
一个添加到该单元格的TD元素上的CSS样式名。
attr:String
一个定义HTML属性的字符串,应用到数据容器内的表格单元格元素上(例如:'style="color:red;"')。
record:Ext.data.record
从数据中提取的Ext.data.Record。
rowIndex:Number
Rowindex
colIndex:Number
Columnindex
store:Ext.data.Store
从该Ext.data.Store对象中提取记录。

另外几个你会用到的方法

Ext.data.Store中:

getAt(Numberindex):Ext.data.Record
获取指定位置的记录。
参数:
index:Number
需要查找的记录的索引位置。
返回值:
Ext.data.Record
所传递的索引位置的Record。如果没有找到,返回undefined

Ext.data.Record中:

get(Stringname):Object
获取指定名称字段的值。
参数:
name:String
需要获取值的字段名称
返回值:
Object
字段的值。
set(Stringname,String/Object/Arrayvalue):void
将字段名设置为指定的值。
阅读全文

与extjs5grid在线演示相关的资料

热点内容
什么是离线导航数据 浏览:164
微信本地二手交易平台 浏览:726
什么是创意编程启蒙 浏览:988
用来存放被用户删除的文件 浏览:307
有哪些app有拼手气红包 浏览:635
数控车斜线和直线过渡圆怎么编程 浏览:572
去掉文件校验 浏览:427
能统计去过哪些城市旅游的app 浏览:769
windows7文件根据什么识别 浏览:872
泡友app 浏览:820
win10怎么取消指纹登陆 浏览:81
百度云帐号如何找回密码 浏览:443
iphone手机联系人导入 浏览:33
为什么数据流量很差 浏览:921
无锡哪个编程课好 浏览:285
手机程序破了 浏览:741
java鼠标特定点响应 浏览:115
word文档项目符号 浏览:718
配置文件错误修复 浏览:270
桌面上打开的文件怎么加入字 浏览:335

友情链接