日期:2014-05-16  浏览次数:20369 次

extJs grid的常见问题:

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'的容器 中的一种

Js代码 复制代码
  1. grid?=?new?Ext.grid.EditorGridPanel{( ??
  2. ?????????//其他configs ??
  3. ?????????//不要忘记指定height ??
  4. ?????????//三种选择,(1)?显示的指定height,(2)使autoHeight(3)把grid放入一个布局为:fit的容器 ??
  5. ?????????//autoHeight:?true???//?autoHeight重新定义高度来显示所有的记录 ??
  6. ?????????//?--?或者-- ??
  7. ?????????//height:?350 ??
  8. )}??
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