Ext.onReady(function(){
//多选列
var sm = new Ext.grid.CheckboxSelectionModel();
//定义好模型
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(), //序列号栏
// sm,//多选框栏
{header:"姓名",width:50,dataIndex:"username",tooltip:"这个是你的名字",sortable:true},//是否排序
{header:"年龄",width:50,dataIndex:"age",align:"center",fixed:true},//是否固定宽
{header:"身高",width:80,dataIndex:"hight",align:"center",resizable:false},//是否可以改变宽度
{header:"体重",width:80,dataIndex:"weight",align:"center",menuDisabled:true},//点击时是否出现菜单栏
{header:"性别",width:80,dataIndex:"sex",align:"center"},//对齐方式
{header:"原籍",width:80,dataIndex:"provience",align:"center"},
{header:"是否独生子",width:120,dataIndex:"alone",align:"center"},
{id:"memo",header:"备注",width:80,dataIndex:"memo"},
{header:"操作",width:120,dataIndex:"",align:"center",renderer:function(v){
return "<span><a href='#' color='red'>编辑</a> <a href='#' color='red' id='delete'>删除</a></span>"
}}
]);
//定好模拟数据
var json = [
{
username:"1朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
},
{
username:"2朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
},
{
username:"3朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
},
{
username:"4朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
},
{
username:"5朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
},
{
username:"6朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
}
,
{
username:"7朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
},
{
username:"8朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
},
{
username:"9朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
},
{
username:"10朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
},
{
username:"11朱湘鄂",
age:"21",
hight:"170cm",
weight:"52kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
}
];
//创建代理
var proxy = new Ext.data.MemoryProxy(json);
//创建record记录集
var Record = new Ext.data.Record.create([
{name:"username",type:"String",mapping:"username"},
{name:"age",type:"String",mapping:"age"},
{name:"hight",type:"String",mapping:"hight"},
{name:"weight",type:"String",mapping:"weight"},
{name:"sex",type:"String",mapping:"sex"},
{name:"provience",type:"String",mapping:"provience"},
{name:"alone",type:"String",mapping:"alone"},
{name:"memo",type:"String",mapping:"memo"},
]);
//创建reader
var reader = new Ext.data.JsonReader({},Record);
//创建Store
var store = new Ext.data.Store({
proxy:proxy,
reader:reader
});
//显示加载
store.load();
//创建girdPanel对象
var gridPanel = new Ext.grid.GridPanel({
title:"人员详细资料",
width:1000,//宽度
autoHeight:true,
cm:cm,
//sm:sm,
store:store,
autoExpandColumn:true,
titleCollapse:true,//标题兰是否具备收缩功能
collapsible:true,//表示panel可以收缩
renderTo:Ext.getBody(),
buttons:[
{
text:"第一行",
handler:function(){
var rsm = gridPanel.getSelectionModel();
rsm.selectFirstRow();
}
},
{
text:"上一行",
handler:function(){
var rsm = gridPanel.getSelectionModel();
if(!rsm.hasPrevious()){
Ext.Msg.alert("提示","已经是第一行了");
}else{
rsm.selectPrevious();
}
}
},
{
text:"下一行",
handler:function(){
var rsm = gridPanel.getSelectionModel();
if(!rsm.hasNext()){
Ext.Msg.alert("提示","已经是最后一行了");
}else{
rsm.selectNext();
}
}
},
{
text:"最后一行",
handler:function(){
var rsm = gridPanel.getSelectionModel();
rsm.selectLastRow();
}
},
{
text:"全选",
handler:function(){
var view = gridPanel.getView();
var rsm = gridPanel.getSelectionModel();
rsm.selectAll();
//打印选中的行
var r="";
for(var i=0;i<view.getRows().length;i++){
if(rsm.isSelected(i)){
r+=gridPanel.getStore().getAt(i).get("username");
}
}
Ext.MessageBox.alert(r);
}
},
{
text:"反选",
handler:function(){
var rsm = gridPanel.getSelectionModel();
for(var i=gridPanel.getView().getRows().length; i>=0;i--){
if(rsm.isSelected(i)){
rsm.deselectRow(i);
}else{
rsm.selectRow(i,true);
}
}
}
},
{
text:"新增一行到首行",
handler:function(){
var view = gridPanel.getView();
var obj = {
username:"李理华",
age:"19",
hight:"170cm",
weight:"42kg",
sex:"男",
provience:"湖南",
alone:"no",
memo:"暂无备注"
};
var human = new Record(obj);
gridPanel.getStore().insert(0,human);
view.refresh();
}
} ,
{
text:"全部删除",
handler:function(){
var view = gridPanel.getView();
var store = gridPanel.getStore();
store.removeAll();
view.refresh();
}
}
]
});
//删除按钮
Ext.get('delete').on('click',function(){
var rsm = gridPanel.getSelectionModel();
var store1 = gridPanel.getStore();
var view = gridPanel.getView();
for(var i=view.getRows().length-1;i>=0;i--){
if(rsm.isSelected(i)){
store1.remove(store1.getAt(i));
}
}
view.refresh();
});
});
分享到:
相关推荐
在ExtJs中,GridPanel是用于展示数据的常用组件,它可以提供丰富的功能,如排序、分页、筛选等。在实际应用中,我们经常需要监听用户的交互行为,比如双击行进行进一步的操作。本篇文章将深入讲解如何在ExtJs ...
在给定的"ExtJs GridPanel延时加载.rar"文件中,主要涉及的核心概念是ExtJs中的GridPanel组件以及延时加载技术。GridPanel是ExtJs中一个非常重要的组件,它用于展示表格数据,而延时加载则是一种优化大量数据处理的...
EXTJS的GridPanel是其组件库中的核心组件之一,用于展示数据网格,广泛应用于Web应用的数据展示。在EXTJS中,ColumnModel是用来定义GridPanel列结构和行为的关键部分。这篇博客"EXTJS_GridPanel_ColumnModel_列的...
### ExtJS GridPanel 使用详解及示例 #### 一、引言 在现代Web应用程序开发中,特别是基于ExtJS框架的应用程序中,`GridPanel`是处理表格数据展示的一个非常重要的组件。它不仅可以帮助开发者轻松地展示数据,还...
在EXTJS中,GridPanel是一种常用的组件,用于展示表格数据。在实际应用中,我们经常需要在GridPanel底部显示一行“合计”行,以便对某一列或多列的数据进行求和或其他统计操作。这篇博文“给Extjs的GridPanel增加...
### 通过Servlet让Extjs GridPanel显示数据库数据 在现代Web开发中,将数据库中的数据动态展示在前端界面上是一项常见的需求。本文档主要介绍如何通过Servlet技术配合Extjs框架中的GridPanel组件来实现这一功能。 ...
在使用ExtJS开发Web应用程序时,经常会遇到在GridPanel中数据列过多,导致横向滚动条自动出现的问题。这个问题主要是由于GridPanel的宽度不足以容纳所有的列宽,因此浏览器会自动显示横向滚动条以便用户查看全部数据...
ExtJS GridPanel是Sencha ExtJS框架中的一个核心组件,用于创建数据网格,展示大量结构化数据。在本文中,我们将深入探讨GridPanel的操作,包括其功能、配置选项以及如何扩展GridPanel以满足复杂需求。 首先,...
ExtJs GridPanel是ExtJs框架中用于展示和管理表格数据的一个重要组件,它提供了丰富的API接口,方便开发者实现复杂的数据操作。根据给出的文件信息,这里将详细解读在ExtJs GridPanel中如何实现基本的增加、删除和...
NULL 博文链接:https://xiaohewoai.iteye.com/blog/409898
【EXTJS 2.02 GridPanel 知识详解】 EXTJS GridPanel 是EXTJS库中的核心组件之一,尤其在EXTJS 2.02版本中,它提供了强大的表格展示和交互功能,对于初学者来说极具学习价值。GridPanel不仅能够处理基本的表格操作...
后来公司让改变一个Gridpanel的展现方式,要求实现滚屏的效果。于是我就开始找API相关的功能了。找了很久,也没有找到框架的相应控制方法,然后在网上找了很久,也没有找到有人给去示例,无奈就只能自己写JS来控制...
在ExtJS框架中,GridPanel组件是用于展示表格数据的重要组件之一。有时我们需要根据特定的业务逻辑来改变表格中某行的字体颜色或者背景色,以便更加直观地向用户展示数据的某些特殊状态。例如,在财务报表中,可能...
ExtJS Grid是一个强大的数据展示组件,它允许用户以表格的形式查看和操作大量数据。在实际应用中,数据过滤是常见的需求,以便用户能快速定位到感兴趣的信息。本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对...
ExtJS表格面板(GridPanel)是Sencha Ext JS框架中的一个核心组件,它用于展示大量结构化数据。在本文中,我们将深入探讨如何创建并使用一个完整的ExtJS GridPanel实例,以及与其相关的源码和工具。 首先,让我们...
ExtJS GridPanel 单元格无法复制问题解决方案 ExtJS 是一个功能强大的 JavaScript 框架,广泛应用于 Web 开发中。但是,在使用 ExtJS 的 GridPanel 组件时,可能会遇到单元格无法选中复制的问题,特别是在 IE ...
ExtJS的GridPanel导出excel文件,方便快捷易懂!
`gridPanel`在诸如ExtJS、GWT或PrimeFaces等框架中常见,它们提供了丰富的功能来处理表格数据,包括排序、筛选、分页等。 首先,让我们了解`gridPanel`的基本结构。`gridPanel`由多个部分组成,如头部(header)、...
在Extjs中,GridPanel组件是非常常用的一个表格组件,它提供了丰富的功能来展示和操作数据。其中,复选框(checkbox)是交互式元素中用于表示选中状态的常见组件。然而,在某些业务场景中,可能需要根据数据行的特定...