html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Grid Plugins Example</title>
<link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" />
<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../ext-all.js"></script>
<style type="text/css">
body .x-panel {
margin-bottom:20px;
}
.icon-grid {
background-image:url(../shared/icons/fam/grid.png) !important;
}
#button-grid .x-panel-body {
border:1px solid #99bbe8;
border-top:0 none;
}
.add {
background-image:url(../shared/icons/fam/add.gif) !important;
}
.option {
background-image:url(../shared/icons/fam/plugin.gif) !important;
}
.remove {
background-image:url(../shared/icons/fam/delete.gif) !important;
}
.save {
background-image:url(../shared/icons/save.gif) !important;
}
.x-grid3-row-alt {
background-image:none;
background-color:#F4FAFF;
}
</style>
</head>
<body>
<div id="grid-div" style="margin-top:100px;" ></div>
</body>
<script>
Ext.onReady(function(){
Ext.QuickTips.init();
var xg = Ext.grid;
// shared reader
var reader = new Ext.data.ArrayReader({}, [
{name: 'company'},
{name: 'price', type: 'float'},
{name: 'change', type: 'float'},
{name: 'pctChange', type: 'float'},
{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'},
{name: 'industry'},
{name: 'desc'}
]);
var sm2 = new xg.CheckboxSelectionModel({ // 全选
listeners: {
selectionchange: function(sm) {
if (sm.getCount()) {
grid4.removeButton.enable();
} else {
grid4.removeButton.disable();
}
}
}
});
var grid4 = new xg.GridPanel({
id:'button-grid',
store: new Ext.data.Store({
reader: reader,
data: xg.dummyData
}),
cm: new xg.ColumnModel([
sm2,
{id:'company',header: "Company", width: 40, sortable: true, dataIndex: 'company'},
{header: "Price", width: 20, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
{header: "Change", width: 20, sortable: true, css : 'background: #FF0000;', dataIndex: 'change'},
{header: "% Change", width: 20, sortable: true, dataIndex: 'pctChange'},
{header: "Last Updated", width: 20, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
]),
sm: sm2,
viewConfig: {
forceFit:true
},
columnLines: true,
// inline buttons
buttons: [{text:'Save',
handler:function(){
Ext.MessageBox.show({
title: '提示' ,
msg: '你点击了我!' ,
buttons: Ext.MessageBox.OK ,
fn: function(){Ext.MessageBox.alert("ssss","fffsss")} ,
icon: Ext.MessageBox.INFO
});
}},{text:'Cancel'}],
buttonAlign:'center',
// inline toolbars
tbar:[{
text:'AddsssSomething',
tooltip:'Add a new row',
iconCls:'add',
ref:'../addButton',
handler:function(){
Ext.MessageBox.alert("测试","添加");
}
},'-',{
text:'Removesss',
tooltip:'Remove the selected item',
iconCls:'remove',
// Place a reference in the GridPanel
ref: '../removeButton',
handler:function(){
Ext.MessageBox.confirm("删除","您确定要删除吗?",showResult)
},
disabled: true
}, '-', {
text:'Moidfy',
tooltip:'Modify the selected item',
iconCls:'option',
handler:function(){
var cell=grid4.getSelectionModel().getSelections();
if(cell==null||cell.length<1){
Ext.MessageBox.alert("温馨提示","请您选择要修改的选项");
return false;
}
Ext.MessageBox.confirm("修改","您确定要修改吗?",modifyResult)
}
}],
stripeRows: true, // 实现斑马线,行换色。
width:600,
height:300,
frame:true,
title:'Support for standard Panel features such as framing, buttons and toolbars',
iconCls:'icon-grid',
renderTo: 'grid-div'
});
function showResult(btn){
var cell=grid4.getSelectionModel().getSelections();
if(btn=="yes"){
var store=grid4.getStore();
for(var i=0;i<cell.length;i++){
store.remove(cell[i])
}
}
}
function modifyResult(btn){
var cell=grid4.getSelectionModel().getSelections();
if(btn=="yes"){
for(var i=0;i<cell.length;i++){
cell[i].set('company',i);
cell[i].commit();
}
}
}
});
// Array data for the grids
Ext.grid.dummyData = [
['3m Co',71.72,0.02,0.03,'9/1 12:00am', 'Manufacturing'],
['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am', 'Manufacturing'],
['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am', 'Manufacturing'],
['American Express Company',52.55,0.01,0.02,'9/1 12:00am', 'Finance'],
['American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am', 'Services'],
['AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am', 'Services'],
['Boeing Co.',75.43,0.53,0.71,'9/1 12:00am', 'Manufacturing']
];
</script>
</html>
说明:1,x-grid3-row-alt {
background-image:none;
background-color:#F4FAFF;
}
此代码是设置斑马线 行颜色。
2,css : 'background: #FF0000;'
此代码是设置列颜色。
3,var cell=grid4.getSelectionModel().getSelections();
if(btn=="yes"){
for(var i=0;i<cell.length;i++){
cell[i].set('company',i); // 修改company的值
cell[i].commit();
}
}
此代码是实现值修改。
4, var store=grid4.getStore(); // 删除选中的行
for(var i=0;i<cell.length;i++){
store.remove(cell[i])
}
此代码是实现删除选中的行。
分享到:
相关推荐
找了半天,结果在extjs的老家找到一个前辈写的代码,可以在grid上面加上合计, <br>但是却只能合计grid里面的数据,但是我们平常一般是只显示20行或者30行,这样的合计就没有什么意义,我们的合计数据是单独从...
Ext grid中渲染进度条,超帅 源码-----下载不扣分,回帖加1分,欢迎下载,童叟无欺。Ext grid中渲染进度条,超帅 源码-----下载不扣分,回帖加1分,欢迎下载,童叟无欺。Ext grid中渲染进度条,超帅 源码-----下载不扣分...
http: www extgrid com extgrid 是一款jquery上的gird插件 界面风格采用了类似easyui extjs 界面风格样式 可通过...extgrid具有列大小 位置改变 排序 分组 分页 工具栏 扩展行 rowNumber 多选列 编辑列 行列 [更多]
用于Ext开发Grid中遇到的所锁列的问题,这个很有帮助
EXT中根据返回的grid中的状态列的内容来改变这一行显示的背景颜色
Ext grid 动态添加字段、列扩展, 如何动态添加或者删除一个grid的列
Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码
本人成功实现的一个合并列的例子,希望对大家有帮助
支持Ext3 Ext4导出excel,客户端导出表格,支持各种主流浏览器。
EXT GRID使用EXT GRID使用 EXT GRID使用EXT GRID使用
本实例使用官方Ext3.1包 ...1.创建简单快捷的Ext Grid控件 代码清晰 2.Grid 读取 Xml 3.Grid 读取 json 4.Grid 读取 Excel 5.直接在 Grid 控件进行增删改查的操作 有任何疑问的同志欢迎提出即可谢谢
Ext grid panel 滚动条位置不变,适用于实时数据的刷新
NULL 博文链接:https://damen.iteye.com/blog/946039
官方例子 Ext grid filter
Ext Grid表格的自动宽度及高度的实现
一个完整的ext中grid与tree的使用,是很好的一个学习例子.
ext grid 根据条件指定行颜色,比如总分大于90分行显示为红色
这两天项目需要,临时做了一个,没有封装,该grid可以实现列和行的自定义添加和删除,包括修改标题,以及列的右击添加事件。希望对你们有所帮助!双击列名可以对列名进行修改,右键列名可以选择左侧和右侧添加列以及...
EXT grid导出EXCEL,有事例,下载后直接可用
Grid实现中文排序的功能,重写Ext.data.Store的applySort函数