- 浏览: 112992 次
- 来自: 北京
文章分类
最新评论
-
hww_1030:
spring+springmvc+ibatis整合注解方式实例 -
jackclchan:
你好,能将demo源码发我下吗?jackclchan@qq.c ...
spring+springmvc+ibatis整合注解方式实例 -
amwiqplhui:
你好,能将demo源码发我下吗?772851689@qq.co ...
spring+springmvc+ibatis整合注解方式实例 -
jiangshenyi:
你好,上面的demo 能发我一份了 deshanjiang8 ...
spring+springmvc+ibatis整合注解方式实例 -
springmvc-freemarker:
spring mvc demo教程源代码下载,地址:http: ...
spring+springmvc+ibatis整合注解方式实例
grid的常见问题:
1, grid数据为空.
2, grid不能正确的显示图片
3, 不能正确排序
4, TabPanels包括grid
5, grid单元格中的link
6, 合并字段
7, 自定义row或者column的外观,行为
8, grid cell添加click事件
9, store调用load后, Store还是空
10, grid大小随window变化
11, 更新grid单元格(实际上是:store)
12, 从不同的url重新加载grid
13, xml问题
14, 当它应该为空的时候,grid保留记录
15, json Reader的调试
16, 拖动,或者重新加载一条记录
17, 水平滚动条
18, 固定或不固定列宽
19, 隐藏某列
20, grid列固定宽度包装单元格中内容
21, 添加一列
22, toolbar中元素居中
23, 删除选中行
24, 分页,总记录数
25, 通过grid行索引(row index)获取record
26, grid从不同的server或者store, 加载数据
27, 列自动大小
28, 禁某行
29, contentEl,applyTo和renderTo之间的区别
30, 错误数据, red flag显示
31, Editor grid - ComboBox显示
32, 显示边框
33, 删除grid右边的滚动条
34, grid使用footer
35, grid复制单元格内容
36, grid中的comboBoxes
37, grid自定义样式
具体解决方案如下:
1. grid为空
- grid不显示数据
- Store不加载数据
- grid为空
- grid不执行
- grid没有监听store
问题引发的可能原因
(1).是否定义grid的高度, height,autoHeight,或者layout:'fit'的容器 中的一种
- grid = new Ext.grid.EditorGridPanel{(
- //其他configs
- //不要忘记指定height
- //三种选择,(1) 显示的指定height,(2)使autoHeight(3)把grid放入一个布局为:fit的容器
- //autoHeight: true // autoHeight重新定义高度来显示所有的记录
- // -- 或者--
- //height: 350
- )}
grid = new Ext.grid.EditorGridPanel{( //其他configs //不要忘记指定height //三种选择,(1) 显示的指定height,(2)使autoHeight(3)把grid放入一个布局为:fit的容器 //autoHeight: true // autoHeight重新定义高度来显示所有的记录 // -- 或者-- //height: 350 )}
(2).是否加载store? 调用方法store.load()
(3). 是否render grid, Render a grid使用下面的一种:
- 在grid 配置中使用renderTo 或者 el 自动render
- 显示的调用render()方法, grid.render()
(4). render的元素是否存在.
(5). 如果把一个grid放入一个tab panel中, 尝试在tabPanel的配置中添加 layoutOnTabChange: true
(6). 如果使用JSON,
- JSON 的格式是否正确(可以在www.jslint.com验证你的JSON响应)
- 确保它不是一个string, (JSON = object)
- 不要在字段名中使用句点(.) ("filed.c" ext 不会转译)
- 确保JSON的结构和render的一致(记录数组处于根节点之下, 等等)
(7).The render是否正确指定了一个正确的root, JSON中使用该root
- 检查下面的从JSONReader来的示例响应, 如果你设定一个root 来包装JSON 响应中的数组, 可能象下面:
- { 'results': 2, 'rows': [{"CodigoProduto":"3009","TipoProduto":"FERT",
- "DescricaoProduto":"7 UP Reg. 12 GR 1,50 PET",
- "UnidadeMedidaProduto":"TAB","Sabor":"V-REGULAR",
- "CodigoMarca":"35","ProdutoPesoBruto":"19.448",
- "ProdutoPesoLiquido":"18.760","ProdutoPesoUM":"KG",
- "ProdutoVolume":"18.000","ProdutoVolumeUM":"L",
- "ProdutoUM_PAL":"36","Eliminar":""}]
- }
{ 'results': 2, 'rows': [{"CodigoProduto":"3009","TipoProduto":"FERT", "DescricaoProduto":"7 UP Reg. 12 GR 1,50 PET", "UnidadeMedidaProduto":"TAB","Sabor":"V-REGULAR", "CodigoMarca":"35","ProdutoPesoBruto":"19.448", "ProdutoPesoLiquido":"18.760","ProdutoPesoUM":"KG", "ProdutoVolume":"18.000","ProdutoVolumeUM":"L", "ProdutoUM_PAL":"36","Eliminar":""}] }
(8). 确保一条记录的数据是一个数组中的一条
- var SecurityItemRecord = Ext.data.Record.create([{name: 'type'}, {name: 'itemName'}]);//OK
- var SecurityItemRecord = Ext.data.Record.create({name: 'type'}, {name: 'itemName'});//NO GOOD
var SecurityItemRecord = Ext.data.Record.create([{name: 'type'}, {name: 'itemName'}]);//OK var SecurityItemRecord = Ext.data.Record.create({name: 'type'}, {name: 'itemName'});//NO GOOD
尝试使用firebug进行下面操作
(I)firebug是否有错误显示
(II)请求是否发出(查看console)
(III)该请求是否收到一个响应, 如果是, 把结果拷贝到www.jslint.com中验证格式, 该响应是否是你想要的结果, 检查总记录数, 数组的根目录, 等等
store load? 添加监听器监测store是否被加载或者有异常( 如何添加监听器? )
Store 'datachanged', 'load', 'loadexception',
Proxy 'load' / 'loadexception'
也可以添加ajax监听器
2. grid不能正常的显示图片(checkboxes, 等等)
(1), Css文件连接是否正确
(2), css引用是否正确, 检查相对路径.
3. 排序问题
(1). 检查store配置(sortInfo和sort type)或者使用setDefaultSort();
- sortInfo:{field: 'fieldname', direction: 'ASC'}
- //或者调用:
- store.setDefaultSort('fieldname', 'ASC');
sortInfo:{field: 'fieldname', direction: 'ASC'} //或者调用: store.setDefaultSort('fieldname', 'ASC');
(2). 检查sort type 是否设定
(3). 如果仅仅针对当前页面排序, 同时排列整个DB查询 remoteSort应该设置为: true(remoteSort默认为本地排序)
(4). 列排序
列数据
- //当前排序
- +-+-------+
- |1|First |
- |2|Last |
- |3|Second|
- +-+-------+
- //希望的排序
- +-+-------+
- |1|First |
- |3|Second|
- |2|Last |
//当前排序 +-+-------+ |1|First | |2|Last | |3|Second| +-+-------+ //希望的排序 +-+-------+ |1|First | |3|Second| |2|Last |
在record定义
- sortType: function(value)
- {
- switch (value.toLowerCase())
- {
- case 'first': return 1;
- case 'second': return 2;
- default: return 3;
- }
- }
sortType: function(value) { switch (value.toLowerCase()) { case 'first': return 1; case 'second': return 2; default: return 3; } }
4. Tab Panels中的grid
(1). 象其他Panel一样, 你可以直接添加一个GridPanle作为一个item.
(2). 确保Grid Panel是一个Tab Panel
(3). 在Tab Panel 中设置 layoutOnTabChange
- //grid对象
- var g = new Ext.grid.GridPanel(
- title: 'I will be the tab label';
- )
- var tabs2 = new Ext.TabPanel({
- renderTo: document.body,
- activeTab: 0,
- widht: '100%'
- height: 150,
- frame: true,
- defaults:{autoScroll: true},
- items: [0] //grid 对象
- })
//grid对象 var g = new Ext.grid.GridPanel( title: 'I will be the tab label'; ) var tabs2 = new Ext.TabPanel({ renderTo: document.body, activeTab: 0, widht: '100%' height: 150, frame: true, defaults:{autoScroll: true}, items: [0] //grid 对象 })
(4). 例子: http://examples.extjs.eu/?ex=gridintab
5. grid单元格中的链接
(1). 自定义一个renderer, 或者
(2). 使用Ext.grid.RowSelectionModel的rowselect事件, 如下:
- function handleRowSelect(selectionModel, rowIndex, selectedRecord){
- //假定记录中存在url字段
- var url = selectedRecord.get('url');
- //如果你想打开另外一个窗口
- window.open(url);
- }
- grid.getSelectionModel().on('rowselect',handleRowSelect);
function handleRowSelect(selectionModel, rowIndex, selectedRecord){ //假定记录中存在url字段 var url = selectedRecord.get('url'); //如果你想打开另外一个窗口 window.open(url); } grid.getSelectionModel().on('rowselect',handleRowSelect);
6. 合并字段为一列
(1). 连接记录中的两个字段(或多个)
- var reader = new Ext.data.ArrayReader({},[
- //合二为一
- {name:'full_name',type:'string',mapping:'first_name+ " " + obj.last_name'},
- {name: 'age'}
- ]);
- var grid = new Ext.grid.GridPanel({
- store: new Ext.data.Store({
- render: reader,
- data: Ext.grid.dummyData
- }),
- columns:[
- {header: 'Full Name',dataIndex: 'full_name'},
- {header: 'Age',dataIndex:'age'}
- ]
- })
var reader = new Ext.data.ArrayReader({},[ //合二为一 {name:'full_name',type:'string',mapping:'first_name+ " " + obj.last_name'}, {name: 'age'} ]); var grid = new Ext.grid.GridPanel({ store: new Ext.data.Store({ render: reader, data: Ext.grid.dummyData }), columns:[ {header: 'Full Name',dataIndex: 'full_name'}, {header: 'Age',dataIndex:'age'} ] })
(2). 可以创建任何你需要的字段.
发表评论
-
网页的常用属性,便于以后编写网页查询
2011-02-11 18:01 945这里收藏一些编写网页的常用属性,便于以后编写网页查询。&quo ... -
javascript经典代码
2011-01-28 17:07 7731. oncontextmenu="window ... -
Ext 常用控件属性列表
2011-01-25 11:33 1097Ext 常用控件属性列表 Ext 常用控件属性列 ... -
ext 控件属性
2011-01-21 14:33 1158Ext.Action action实现一个脱离了容 器的事件 ... -
extjs-tag (即使不会extjs和js也能开发页面)
2011-01-21 10:47 988最近在做一个公司的框架,采用extjs+dwr,由于考虑到ex ... -
第 9 章 沉寂吧!我们要自己的控件
2011-01-21 10:02 927第 9 章 沉寂吧!我们要自己的控件 Script 2008 ... -
第 8 章 哭泣吧!现在才开始讲基础问题。
2011-01-21 10:01 8028.1. Ext.get ... -
第 7 章 低鸣吧!拖拽就像呼吸一样容易。
2011-01-21 10:00 9047.1. 如此拖拽,简直就像与生俱来的本能一 ... -
第 6 章 奔腾吧!让不同的浏览器里显示一样的布局。
2011-01-21 09:59 8606.1. 有了它,我们就可以摆脱那些自称ui ... -
第 5 章 雀跃吧!超脱了一切的弹出窗口。
2011-01-21 09:59 8575.1. 呵呵~跳出来和缩回去总给人惊艳的感 ... -
第 4 章把表单和输入控件都改成ext的样式。
2011-01-21 09:58 10334.1. 不用ext的form啊,不怕错过有 ... -
第 3 章 歌颂吧!只为了树也要学ext。
2011-01-21 09:57 10863.1. 真的,我是 ... -
第 2 章 震撼吧!让你知道ext表格控件的厉害。
2011-01-21 09:57 14032.1. 功能丰富,无人能出其右 ... -
第 1 章 闪烁吧!看看extjs那些美丽的例子。
2011-01-21 09:56 952.1. 一切从extjs发布包开 ... -
ext-grid常见问题 FAQ: Grid
2011-01-19 11:24 1141grid的常见问题: 1, gri ... -
最强学习笔记---GridPanel(基础篇)
2011-01-19 11:19 882我不想教各位新手什么 ...
相关推荐
ExtJS grid过滤操作,可以动态操作本地的store更改筛选的内容
extjs grid示例代码extjs grid示例代码extjs grid示例代码extjs grid示例代码
extjs grid ide:myeclipse5.5 jboss4.2.1 extjs4.2.1
ExtJs Grid是否选择行,是:返回选择行record;否:返回false
ExtJS4官方指南:数据Data简体中文版.pdf
ExtJS4官方指南:MVC架构简体中文版宣贯.pdf
EXTJS grid导出EXCEL文件,源码可以直接导入MYECLIPSE使用,EXTJS版本3.2.0
extjs grid 多表头 插件 extjs grid 多表头 插件
extjs常见问题http://www.jb51.net/list/list_217_1.htm
ExtJS4官方指南:MVC架构简体中文版归类.pdf
这是利用sencha cmd 生成的GridFilterDemo工程中的app和build文件夹,其余文件过大并且与主题无关,因此未包含。具体方法,请参看我的博客: 《Extjs4.2 Grid Filter Feature 表格过滤特性》
ExtJS 4 官方手册:应用架构设计 01 简体中文版.doc
ExtJS4官方手册:应用架构设计01简体中文版.doc
很多同事在用extjs grid做分页的时候,往往会想用grid的多选功能来实现导出Excel之类的功能(也就是所谓的多选记忆功能),但在选选择下一页的时候 上一页选中的已经清除 这是因为做分页的时候又向服务器请求了分页...
ExtJs 4.0 Grid 单元格合并控件封装
Extjs grid 中文排序问题修正,其实很简单,请自己看源代码
这是一个简单的在extjs下的grid转化到Excel,里面代码简单易懂,在包里面还集成了复杂的js转化函数,不过本人没有用它来进行转化! 注:在用EXTJS的导出Excel技术中,一定要注意分页的问题
Extjs动态Grid的生成 htm
ExtJs grid多选时获取选中的所有值,以及其他相关的操作
自己写的一个Extjs Grid2Grid拖拽