一直现找个称手的Grid,在关注Ext Grid的时候顺便了解到了fins开发的Gt-grid,上星期偿试把它加入到我现在的一个项目和框架里,遇到了不少问题,我把它写出来,希望fins能看到。
首先,我认为Gt-grid(下面我简称它为GT)只是一个Grid,它只是一个展现数据的工具(fins不知道是不是跟我一样的想法,或者,他的目标是一个框架也有可能),而并不是一个框架,因此,我希望它对我原先系统或者框架的应用是无侵入的,也就是不应该改变我原先的项目及框架(服务端或者客户端)的操作使用习惯,要做到这一点,GT就要具有高度的可配制性来适合其它的框架或者组件(或者叫应用吧,当然,如果是一些新开工的小项目,也可以让项目来适应GT)。
Grid一般都有如下功能:
1 表格数据的展现;(基本的)
2 数据展现和编辑时的一些事件处理(我认为这些是开发企业应用的重要功能);
3 从服务端加载数据;(非必需的)
4 分页导航(重要的);
5 一些自定义的配制及样式(非必需的)
6 其它的扩展功能(非必需的)
先谈谈第一个遇到的第一个问题:
如果是从服务端load数据,pageinfo要求的格式是这样的{ pageSize : 20, pageNum : 0, totalRowNum :0,totalPageNum : 0, startRowNum :0, endRowNum :20 },很不巧,我用的服务端框架返回的数据格式(pageinfo)名称除了pageSize,data,其它的都不相同,当然,我的服务端名称是可配制的,返回这样格式的数据不存在问题,不过它会影响或者导致同一项目里的二种数据格式,如果GT能提供这些名称配制的方法(应该也是很容易的),这个问题就解决了。下一个问题是我遇到的第二个问题,我使用GT的主要目的是想用它来展现数据以及用到它的事件处理,这方面对比下来GT做得还是让我很满意的,也是我选择它的一个主要原因,另外一个原因就是GT的开发者是国人,沟通更方便。基于我的使用目的,我的问题也由此而来(需求真的是千奇百怪...),我希望我把数据给GT(Json,非服务端加载),它给我展现数据,这没什么问题,可是问题由此而来,GT自动根据我给出的数据记录数生成了分页,可那不是我想要的,我想要服务端load数据的那种分页,GT没提供给我,也就是说GT的分页不提供设置功能,要么你前台给我数据,我给你自动生成导航,要么我load服务端的,也给你自动生成,试用下来后好象没有其它方法了,查了API,只有getPageInfo,如果有setPageInfo,getPageNav(得到导航条内容),addPageNavTo(把导航导添加到某个容器里,比如div里),分页按钮的click事件支持.查看了API,GT没有NAV这方面的属性,也许是没有公开吧。第三个问题,日期控件的问题,以前没看到有日历控件,奥运会一开完,多了个难看的日历控件,提供自定义的使用日期控件的方法,是我所立刻想到的,否则,一个程序里有二个甚至更多的不同风格的日期控件也不是不可能。
最后是Select控件,可能弄起来比较难吧,如果能提供第三方的Select控件的支持,是不是更好。
下面想到的是添加扩展ToolBar,添加自定义按钮的功能(这些是扩展功能了)......,暂时想到这些了,以后想到了再继续来写。也许,有人看了后会说,你干脆让fins定制得了..........
首先,我认为Gt-grid(下面我简称它为GT)只是一个Grid,它只是一个展现数据的工具(fins不知道是不是跟我一样的想法,或者,他的目标是一个框架也有可能),而并不是一个框架,因此,我希望它对我原先系统或者框架的应用是无侵入的,也就是不应该改变我原先的项目及框架(服务端或者客户端)的操作使用习惯,要做到这一点,GT就要具有高度的可配制性来适合其它的框架或者组件(或者叫应用吧,当然,如果是一些新开工的小项目,也可以让项目来适应GT)。
Grid一般都有如下功能:
1 表格数据的展现;(基本的)
2 数据展现和编辑时的一些事件处理(我认为这些是开发企业应用的重要功能);
3 从服务端加载数据;(非必需的)
4 分页导航(重要的);
5 一些自定义的配制及样式(非必需的)
6 其它的扩展功能(非必需的)
先谈谈第一个遇到的第一个问题:
如果是从服务端load数据,pageinfo要求的格式是这样的{ pageSize : 20, pageNum : 0, totalRowNum :0,totalPageNum : 0, startRowNum :0, endRowNum :20 },很不巧,我用的服务端框架返回的数据格式(pageinfo)名称除了pageSize,data,其它的都不相同,当然,我的服务端名称是可配制的,返回这样格式的数据不存在问题,不过它会影响或者导致同一项目里的二种数据格式,如果GT能提供这些名称配制的方法(应该也是很容易的),这个问题就解决了。下一个问题是我遇到的第二个问题,我使用GT的主要目的是想用它来展现数据以及用到它的事件处理,这方面对比下来GT做得还是让我很满意的,也是我选择它的一个主要原因,另外一个原因就是GT的开发者是国人,沟通更方便。基于我的使用目的,我的问题也由此而来(需求真的是千奇百怪...),我希望我把数据给GT(Json,非服务端加载),它给我展现数据,这没什么问题,可是问题由此而来,GT自动根据我给出的数据记录数生成了分页,可那不是我想要的,我想要服务端load数据的那种分页,GT没提供给我,也就是说GT的分页不提供设置功能,要么你前台给我数据,我给你自动生成导航,要么我load服务端的,也给你自动生成,试用下来后好象没有其它方法了,查了API,只有getPageInfo,如果有setPageInfo,getPageNav(得到导航条内容),addPageNavTo(把导航导添加到某个容器里,比如div里),分页按钮的click事件支持.查看了API,GT没有NAV这方面的属性,也许是没有公开吧。第三个问题,日期控件的问题,以前没看到有日历控件,奥运会一开完,多了个难看的日历控件,提供自定义的使用日期控件的方法,是我所立刻想到的,否则,一个程序里有二个甚至更多的不同风格的日期控件也不是不可能。
最后是Select控件,可能弄起来比较难吧,如果能提供第三方的Select控件的支持,是不是更好。
下面想到的是添加扩展ToolBar,添加自定义按钮的功能(这些是扩展功能了)......,暂时想到这些了,以后想到了再继续来写。也许,有人看了后会说,你干脆让fins定制得了..........