`

[发布] GT-Grid 1.15 版 (080908发布) ★

阅读更多
GT-Grid 1.15版 说明文档.

这篇文档主要说明一些这个版本的变化(新增功能 新特性)


========================================
这个版本照例修正了一些bug 同时增加了一些小功能
这些小功能主要是通过api方面的改造,让大家用起来更顺手一些.
另外尝试了一下 与 ext的结合

========================================

下面结合示例来做一下说明.

我们在围绕列表开发时 常常有这样的需求.

一个页面, 上方是查询表单, 下面是列表. 初始情况下,表单是空的.
在表单中输入一些查询条件后,点击查询按钮,然后列表才出现响应的信息.

示例 mydemo_for_1.15.html 就演示了这样的场景.

大家需要注意的是如下内容:

首先 "初始情况下,表单是空的" 这个需求通过 grid的 autoLoad属性来实现.
当该属性为false时, 列表第一次显示时 不会出现数据.

其次, 在这个版本里增加了 grid.query 方法. 用法如下:

 grid.query(params)


其中 params 是一个json对象, 用来作为查询条件的.
它将以 name1=value1&name2=value2&name3=value3... 的形式将参数传递给后台.
后台可以通过传统的 request.gerParameter("name") 方式来取得这些参数.
这样大家就可以灵活的来做查询操作了.
例如
 grid.query( {
  name : "abc",
  age : 27 ,
  others : [ 1,2,3 ]
  })

那么 传递到后台的 queryString 将为
name=abc&age=27&others=1&others=2&others=3

注意:  mydemo_for_1.15.html 这个示例由于只是前台的一个代码示例,
所以页面中的查询并不会真的起到查询的作用, 而只是载入一些随机生成的数据.

==============================

与 ext的结合:

这个版本可以和简单的 Ext.Panel进行结合.
也就是说 GT-Grid可以放入 Ext.Panel 的panel里了
具体的例子见
\_demo\for_ext.html

注意for_ext.html文件中下面的部分:
<!-- 请根据你机器内ext存放的位置来自行修改下面3行的内容 -->
    <link rel="stylesheet" type="text/css" href="file:/d:/mydev/ext-2.2/resources/css/ext-all.css" />
 	<script type="text/javascript" src="file:/d:/mydev/ext-2.2/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="file:/d:/mydev/ext-2.2/ext-all.js"></script>


这个与ext的融合 目前还只是一个开始, 还有很多问题, 例如不能放到window里等等.
不过 以后会努力加强这方面的兼容性的.


==============================


以上的说明不是很详细, 建议大家结合 mydemo_for_1.15.html 这个示例来看一下.


==============================


关于GT的更多介绍可以参加下面两个地址

具体文档请参见下面地址:
列表组件 GT-Grid 最新版本 & 教程

与服务端结合的例子(8月3日版本)
与服务端结合的例子
========================================


  • dist_b20080908.zip (642.7 KB)
  • 描述: 1.15版. 2008年 09月8日 最新发布
  • 下载次数: 562
分享到:
评论
45 楼 finalbone 2008-09-12  
<%@ include file="../common/init.jsp"%>
这个是引入标签库的 没有什么影响 路径是为了发到帖子里做了示意性的修改 呵呵

编码问题基本可以排除 最大可能是js文件加载的问题

到底是什么影响了js加载 而且只是针对Grid这种组件才出现问题 需要深入的去查一下

EXT刚刚接触 对其内在实现机制还缺乏了解 估计GT Grid与它类似吧

我用的架构相当成熟 应该是新旧技术存在不兼容的地方 锁定了问题范围 下一步就好处理了 谢谢fins
44 楼 fins 2008-09-11  
再问一下

<%@ include file="../common/init.jsp"%>

这个jsp里的内容是什么??

js文件的相对路径没错??
你是直接访问jsp文件 还是通过action访问?
如果是action 那么 你那个相对路径 应该是相对于 action的url
而不应该是相对于jsp
43 楼 fins 2008-09-11  

如果如你所说  ext的grid在你那里也有问题 那么我估计问题可能是出在
你编写的代码身上
因为我没听说 ext不能和 ww一起用



webwork不是很熟
但是这类框架 和 ajax框架一起用如果出问题
往往都是 在编码, 生成的代码有js错误 等等
建议你再好好看看

我觉得 问题肯定是能解决的

不过 通过你提供的信息 我目前还很难提出解决方案

理论上 浏览器解析并运行的就是 jsp最后生成的html代码
而js组件又完全依赖于客户端浏览器 所以我觉得在访问有问题的页面时
1 编码有问题
2 js文件加载有问题 (没有正确js加载,就运行了js文件里的代码???)

42 楼 finalbone 2008-09-11  
我还试了ext的grid 有同样的问题
估计是grid对象创建时机的问题~
41 楼 finalbone 2008-09-11  
那个逗号没问题的 我把编译后显示的jsp另存为html 就能正常运行
40 楼 fins 2008-09-11  
按你的组装方式
在 data1 最后 会多出一个 逗号

这个逗号会引起后面脚本的错误

39 楼 finalbone 2008-09-11  
第3页的第一帖是我的问题 呵呵
38 楼 mhere 2008-09-11  
这么快又发新版本了~~~
37 楼 fins 2008-09-11  
问题出在
endRowNum : (startRowNum+pageSize-1) // 结束行号.这个值会在客户端计算好之后发给服务端.

这行
这里只是一个伪代码
建议你不要这么设置
你可以直接写 计算后的值
36 楼 zghen 2008-09-11  
code="javascript"]
var dsConfig= {


action : 'load', // 执行的操作类型,load表示是加载数据
/*
// 分页信息
pageInfo : {
pageSize : 20 ,  // 每页显示条数. 这个值决定于 你创建grid时的设置.
totalRowNum : 0  , // 总记录数. 这个值在第一次载入列表时 为 0 ,以后是什么值 取决于服务端返回的值.
startRowNum : 1, // 开始行号. 第一次载入列表或是查看列表的首页时,会传入1,(注意表示"开始行号"的数字是从1开始.
endRowNum : (startRowNum+pageSize-1)  // 结束行号.这个值会在客户端计算好之后发给服务端.
},

*/ // 排序信息
   sortInfo : [
            {   
                columnId : "total" ,   
                fieldName : "total" ,  
                sortOrder : "asc"  // 排序的顺序状态 : 升序"asc"  降序"desc"  默认"defaultsort"  
            }
],
         

};
[/javascript]
后台取sortInfo用的方法与pageInfo一样。
String json = request.getParameter("_gt_json");//获得_gt_json
.
.
.
jobject = new JSONObject(json);//转为json对象
.
.
.
//通过jobject 取得pageInfo字符串,再将pageInfo字符串转为json对象,这里都没有问题
jobject=new JSONObject(jobject.getString("pageInfo"));
int totalRowNum = (Integer) jobject.get("totalRowNum");
int startRowNum = (Integer) jobject.get("startRowNum");
int pageSize = (Integer) jobject.get("pageSize");

//用同样的方法来处理,

jobject=new JSONObject(jobject.getString("sortInfo"));

就不行了,sortInfo是一个数组对象,但是它也是可以转成json的吧?
[

35 楼 fins 2008-09-11  
finalbone 8 分钟前
fins请回复一下我的问题

?? 什么问题?在哪?


theone2000 13 分钟前
2 问: 其他示例正常吗??
2 建议 检查是否正确的引入了必要的js 和css(可以对照其他的demo看一下)
3 建议 检查一下是不是浏览器的编码问题

34 楼 theone2000 2008-09-11  
75
Char:1
Code:0
Error:'GT' 未定义
网址:file://D:\0_AJAX集合\Grid表格\gt-grid080908\_doc\mydemo_for_1.15.html
33 楼 finalbone 2008-09-11  
fins请回复一下我的问题
32 楼 theone2000 2008-09-11  
mydemo_for_1.15.html 在那里??? 压缩包中没有啊!
31 楼 fins 2008-09-11  
你是怎么设置的 startRowNum?
能否把代码片段发来看看
30 楼 zghen 2008-09-11  
fins 你好,pageInfo 中的startRowNum未定义错误是在提交后台之前,只要自己设了startRowNum,页面就load失败。sortInfo 的取法与pageInfo类似,不知是不是这里的问题。如果是请你说下这个地方该怎么去取。
29 楼 fins 2008-09-11  
a.b 这种id肯定是不能被支持的

column的id 不需要非得和数据库对应上
我觉得可能大家对 column id 的理解有偏差
id必须要符合js的变量命名规范
也就是说 你写 a+b a-b  a)b  a%b ... 都不可以

而且 a.b 是有特殊意义的

数据

{ a : {
    b : 1
}

那么 a.b表示的是 a里的b属性
28 楼 myhome 2008-09-11  
javafane 写道
gt-grid的bug很多,这是国产软件的通病。


共享出自产软件已经不错了.像现在的国情,大家都有自己工作.宽容的心态看问题.
Bug哪个软件都有,完善需要一个过程.
27 楼 lsllsf 2008-09-11  
是这样的.比如多表时 用表名+列名 这样才可以唯一标识出 列(因为列可能有重名),

所以table + . + columns这在sql中可以实现.但在gt_grid中由于他可能把. 作其他用途了. "table.columns" 作为字符的.不能被正确识别.  如果向我们上面那么写head会只有一个.楼主看看能不能改进.
26 楼 fins 2008-09-10  
1)pageInfo中 如果自己设置startRowNum 老是报startRowNum未定义的错误,导致页面老报错;


"startRowNum未定义的错误"的js错误 是在什么时候报的?
是在提交数据到后台之后 还是之前?

2) 你是怎样取的sortInfo ??

相关推荐

Global site tag (gtag.js) - Google Analytics