Ext.onReady(function(){
//1.定义数据仓库 store,通常store 可以有三种类型
//simpleStore,xmlStore,jsonStore
//2.配置GridPanel 时,要配置一些基本的设置:
// 1>renderTo 展现的地方,可以是dom或ID元素
// 2>frame 为true 时设置边框
// 3>width,height 宽,高
// 4>store 加载数据
// 5>columns 展现的列信息,columns 中renderer:fn.可以用Ext.util.format 下信息:dateRenderer,uppercase,lowercase,capitalize等
//renderer 参数:值 ,cell信息,store的记录信息
// 6>stripeRows 交替颜色
// 3.排序的方法
// 1>直接在配置中设置:{header: 'Tagline', dataIndex: 'tagline', sortable: true}
// 2>设置完成后,修改: var firstCm = firstGrid.getColumnModel();firstCm.getColumnById(0).sortable = true;
// 4.设置可见的方法
// 1>直接在配置中设置:{header: "Tagline", dataIndex: 'tagline', hidden: true}
// 2>设置完成后,修改 var firstCm = firstGrid.getColumnModel();firstCm.setHidden(firstCm.getIndexById("title"),true);
// 5.设置是否移动
// 1>移动时gridpanel配置设置是否移动:enableColumnMove:true//是否移动
// 2>移动时,设置移动函数 firstCm.on("columnMoved",function(cm,oindx,nindx)
// 6.从store 中读取数据
// 1>从xml文件读取据,首先有xml文件,如xml/movie.xml文件.定义store,分别配置url和reader为xmlReader,设置好{record},配置完store后设置load.
// 2>json文件读取,首先有json文件,如json/movie.json文件.定义jsonStore,分别配置url和fields,root,配置完store后设置load.
// 3>从服务器端读取,服务端返回json格式,客户端用jsonStore,读取,解析方式同json文件读取.
// 7.表格数据的操作之选择操作
// 1>定义数据模式,选择模式 getSelectionModel,取 selectionModel的几个方法 hasSelection(),getSelected(),
// 2>sel = sm.getSelected()选择到的据行 进行set数据操作,操作时用sel.data.**来展示数据.
// 8.表格数据的操作之列操作
// 1>义数据列模式, getColumonModel(),取其中的列 getColumnById("ID");
// 2>对列数据进行操作cm.setHidde(column,true Or false) cm.isHidden();
// 9.数据分页
// 1>要定义一个jsonStore 用来保存数据,store 有root,和totlaProperty用来告知从哪取数据和总的数据量
// 2>在gridPanel中定义一个PagingToolbar,用来分页展示,其中当前面和总页数就是参数设置的start和totalProperty的设置值
// 3>设置grid信息和后台数据对这些组件进行组装
// 10.数据分组
// 1>首先定义数据分组GroupingStore仓库,主要配置排序信息sortInfo,分组域groupField,还有reader
// 2>后续定义grid,定义时加上 groupView,以展示分组信息.否则没有分组效果.
//定义一个普通数组
var store = new Ext.data.Store({
//定义数据 data
data:[[
"de.png",
1,
"Office Space",
"Mike Judge",
"1999-02-19",
1,
"Work Sucks",
"19.95",
1
],[
"us.png",
3,
"Super Troopers",
"Jay Chandrasekhar",
"2002-02-15",
2,
"Altered State Police",
"14.95",
2
]
],
reader:new Ext.data.ArrayReader({
id:"id"
},[
'image',
'id',
'title',
'director',
{name: 'released', type: 'date', dateFormat: 'Y-m-d'},
'genre',
'tagline',
'price',
'available'
]
)
});
//设置类型
var genreStore = new Ext.data.SimpleStore({
data:[
[1,"喜剧"],
[2,"悲剧"]
],
fields:["id","name"]
});
//定义xml仓库
var movieXmlStore = new Ext.data.Store({
url:"./xml/movie.xml",
reader:new Ext.data.XmlReader({
record:"row",
id:"xmlMovie"
},[
"id",
"title",
"director",
{name:"released",type:'date',dateFormat:"Y-m-d"},
"genre",
"tagline",
"coverthumb",
{name:"price",type:'float'},
{name:"active",type:'bool'}
]
)
});
//定义json 仓库
var movieJsonStore = new Ext.data.JsonStore({
url:"./json/movie.json",
root : "rows",
fields: [
"id",
"title",
"director",
{name:"released",type:'date',dateFormat:"Y-m-d"},
"genre",
"tagline",
"coverthumb",
{name:"price",type:'float'},
{name:"active",type:'bool'}
]
});
//定义远程服务端仓库,用来分页展示
var removeStore = new Ext.data.JsonStore({
url:"../saleInfo.do?method=getMovieInfo",
root:"rows",
totalProperty: 'results',
fields:[
"id",
"title",
"director",
{name:"released",type:'date',dateFormat:"Y-m-d"},
"genre",
"tagline",
"coverthumb",
{name:"price",type:'float'},
{name:"active",type:'bool'}
]
});
var grpStore = new Ext.data.GroupingStore({
url:"./json/movie.json",
sortInfo:{
field:"director",
direction:"DESC"
},
groupField:"director",
reader: new Ext.data.JsonReader({
root:"rows",
fields: [
"id",
"title",
"director",
{name:"released",type:'date',dateFormat:"Y-m-d"},
"genre",
"tagline",
"coverthumb",
{name:"price",type:'float'},
{name:"active",type:'bool'}
]
})
});
//在grid 控件上显示store 数据信息
var firstGrid = new Ext.grid.GridPanel({
title:"电影信息列表",
width:700,
height:300,
frame:true,
stripeRows:true,
autoExpandColumn:5,
renderTo:document.body,
// store:store,
// store:movieXmlStore,
// store:removeStore,
store:grpStore,
columns:[{
header:"图片",dataIndex:"image",renderer:function(val){
return "<img src='image/" + val + "'>";
}
},{
id:"title",header:"标题",dataIndex:"title",renderer:function(val,x,curStore){
return "<b>" + val + "</b><br/>" + curStore.get("tagline");
}
},{
header:"导演",dataIndex:"director"
},{
header:"发布日期",dataIndex:"released",renderer:Ext.util.Format.dateRenderer("m/d/y")
},{
header:"喜剧类型",dataIndex:"genre"
// ,renderer:function(val){
// return genreStore.queryBy(function(rec){
// return rec.get("id") == val;
// },this).itemAt(0).get("name");
// }
},{
header:"说明",dataIndex:"tagline"
},{
id:"price",header:"价格",dataIndex:"price"
}
],
enableColumnMove:true,//是否移动
sm:new Ext.grid.RowSelectionModel({
singleSelect:true,
listeners:{
rowSelect:{
fn:function(sm,indx,record){
Ext.MessageBox.alert("title",record.get("title"));
}
}
}
}),
tbar:[{
text:"Change Title",
handler:function(){
var sm = firstGrid.getSelectionModel();
if(sm.hasSelection()){
var sel = sm.getSelected();
Ext.Msg.show({
title:"Change title",
prompt:true,
buttons:Ext.MessageBox.OKCANCEL,
value:sel.data.title,
fn:function(btn,txt){
if(btn == "ok"){
console.debug(txt);
sel.set("title",txt);
}
}
})
}
}
},{
text:"Hide price",
handler:function(btn){
var cm = firstGrid.getColumnModel();
var cmPrice = cm.getIndexById("price");
if(cm.isHidden(cmPrice)){
cm.setHidden(cmPrice,false);
btn.setText("Hide price");
}else{
cm.setHidden(cmPrice,true);
btn.setText("Show price");
}
btn.render();
}
}
],
// bbar:new Ext.PagingToolbar({
// pageSize:1,
// store:removeStore,
// items:[
// "-",
// {
// pressed: true,
// text:"test",
// enableToggle:true,
// toggleHandler:function(){
// Ext.Msg.show({
// title:"dss"
// });
// }
// }
// ]
// })
view:new Ext.grid.GroupingView()
});
//设置,排序和隐藏
var firstCm = firstGrid.getColumnModel();
firstCm.getColumnById(0).sortable = true;
// firstCm.setHidden(firstCm.getIndexById("title"),true);
//移动时设置
firstCm.on("columnMoved",function(cm,oindx,nindx){
//根据位置显示向左移或向右移
var colName = cm.getColumnHeader(oindx);
var msg = "";
if(oindx > nindx){
msg = colName + " move to left.";
}else{
msg = colName + " move to right.";
}
Ext.Msg.alert("colomn " + colName,msg);
});
// movieXmlStore.load();
// movieJsonStore.load();
// removeStore.load({params:{start:0,limit:1}});
grpStore.load();
})
分享到:
相关推荐
为了提升工作效率,开发者们为CATIA设计了各种插件和小程序,"Draw-Grid_New"便是其中之一。这个工具专门用于在CATIA环境中快速绘制网格线,大大简化了这一过程,节省了大量的时间和精力。 "Draw-Grid_New"是一款...
REUSE_ALV_GRID_DISPLAY超详细讲解 REUSE_ALV_GRID_DISPLAY是一个功能强大的ABAP函数模块,主要用于在ABAP程序中显示ALV网格控件。该函数模块提供了大量的参数和事件,使得开发者可以根据需要自定义ALV网格控件的...
oracle 12C Grid软件: ...winx64_12102_grid_1of2.zip winx64_12102_grid_2of2.zip 适用于Windows 64位系统,文件分割成 2个 压缩包,必须集齐2个 文件后才能一起解压一起使用: winx64_12102_grid.part2.rar ...
标题中的"Define_Grid_Motion.zip_DEFINE_GRID_MOTION_fluent udf_fluent变形_f" 提到了`Fluent`中的`Define Grid Motion`功能,这正是用来定义网格运动的一种方法,它允许用户自定义边界条件下的网格动态行为。...
在这个场景中,"Draw-Grid_New.rar" 是一个包含名为 "Draw-Grid.New.CATScript" 的压缩包文件,它涉及到CATIA的二次开发,用于绘制Drawing中的相对网格线。 CATScript是CATIA的一种脚本语言,基于VBScript,允许...
Oracle Database 19c (LINUX.ZSERIES64_193000_grid_home.zip), 适用于 IBM Linux on System z(64 位)系统。,文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: LINUX.ZSERIES64_193000_...
标题中的“mfc_grid.zip_excel界面_grid_grid Visual c_mfc excel界面_mfc grid”表明这是一个关于使用MFC(Microsoft Foundation Class)库创建类似Excel界面的项目。MFC是微软提供的一种C++类库,用于构建Windows...
标题中的“11912910PV_System_MPPT_Grid_2.zip”可能是一个包含光伏(PV)系统最大功率点跟踪(MPPT)模型的压缩文件,而“PV MPPT grid_grid connected mp”暗示了这是一个关于光伏并网逆变器中MPPT技术的详细模型...
在标题"Micro_Grid_Model_170928.zip_MODEL GRID_Microgrid_grid_grid model"中,我们看到的是一个关于微电网模型的压缩包文件,其中包含了微电网建模的相关内容。 描述中的"micro grid modeling 1"表明这是一个...
标题中的“Three_phase_Grid_Connected_PVsystem_synch_with_grid”指的是三相并网光伏系统与电网同步的实现。这个项目可能是一个基于Simulink的模型,用于模拟和分析三相光伏系统的并网操作,确保系统在并入电网时...
【标题】"grid_print.rar" 是一个VB(Visual Basic)开发的应用程序,专注于在WYSIWYG(所见即所得)环境中打印Flex Grid控件的内容。这个应用的目的是提供一种方式,让用户能够按照他们在界面上看到的方式精确地...
oracle 12C Grid软件: ...winx64_12102_grid_1of2.zip winx64_12102_grid_2of2.zip 适用于Windows 64位系统,文件分割成 2个 压缩包,必须集齐2个 文件后才能一起解压一起使用: winx64_12102_grid.part2.rar ...
标题中的“Draw-Grid_100_catia插件_catia车线_drawgrid_Draw-Grid下载_catia_”提到了几个关键元素,分别是“Draw-Grid”,“CATIA 插件”,“catia车线”以及“下载”。这表明我们要讨论的是一个用于CATIA软件的...
标题中的"finalmay10.slx.zip_PLL grid_grid PLL matlab_pv system grid _sola" 提供了一个关于太阳能光伏(PV)系统与电网交互的数学模型,该模型可能使用了MATLAB Simulink环境构建,并涉及到了锁相环(PLL)技术...
Sigma Grid 是构建在jQuery之上的,利用其强大的DOM操作和事件处理能力,为开发者提供了一种快速构建动态表格的方法。 2. **Sigma Grid 功能**: - **数据绑定**:能够绑定到不同的数据源,如JSON、XML或API。 - ...
Oracle Database 19c (AIX.PPC64_193000_grid_home.zip), 适用于IBM AIX 系统,文件分割成 四个 压缩包,必须集齐 四个 文件后才能一起解压一起使用: AIX.PPC64_193000_grid_home.part1.rar ... ...
点云技术在现代计算机视觉和三维重建领域中扮演着至关重要的角色。点云是由一系列空间中的点组成的集合,这些...这个过程对于理解和处理点云数据至关重要,尤其是在三维建模、环境感知、机器学习等领域有着广泛的应用。
标题“SmartinverterPI_2019_inverter_grid_TheGrid_smart_”暗示了我们正在探讨的是一个关于智能逆变器技术,特别是在电网(TheGrid)应用中的智能化解决方案。智能逆变器是现代电力系统中关键的组成部分,它能够将...
Grid connected inverter technique for synchronization of grid to dc source.
本模型——"Variable_wind_grid.zip_pscad模型"是针对风力发电与配电网交互的详细模拟实例,特别适合初学者学习和理解风能并网系统的工作原理。 PSCAD模型主要由两部分组成:风场模型和配电网模型。风场模型是模拟...