codeslave

常用链接

统计

Link

最新评论

javascript高级组合查询控件(0.4更新)

相对之前的版本,代码方面进行比较大的修改,主要内容如下:
1.把html与js分离了。

2.字段信息由原来的数组改为对象的方式,如:

FieldList.add(new Field('No''编号''number''10'''));
FieldList.add(
new Field('Name''名称''varchar''100'''));
FieldList.add(
new Field('Date_Type''日期''date''19'''));

3.抽象了部分生成条件的函数,这样对数据库日后的扩展有利,只要修改highquery.js内的HQConfig的dialect就可以实现生成不同数据库的sql,如:

// 配置
function HQConfig()
{
    
this.dialect = "oracle"// 方言
    
//this.basePath = ""; // 基础路径
    this.version = "0.4"// 版本
}

这个会自动引入oracle.js,生成的sql就会是oracle数据库能通过的,如下面的日期:


如果想用sqlserver数据库,只要把dialect改为sqlserver就可以了!现在只支持sqlserver和oracle,呵呵!当然还可以自行扩展!

4.新增了一个实现关联表选择的接口,如下图:



上面的选择框必须独立去实现,然后在新增字段时加入一个方法名,如"choiceCategory":
FieldList.add(new Field('Category''类别''varchar''1''choiceCategory')); // 必须实现choiceCategory这个方法

最后,实现这个方法,如:
// 选择类别
function choiceCategory()
{
    
var config = "scrollbars=no;status=no;dialogLeft="+300+"px;dialogTop="+200+"px;dialogWidth="+170+"px;dialogHeight="+130+"px";
    
return window.showModalDialog("choicelist.htm"null, config); // 必须返回值(由编号和描述组成的数组)
}

必须返回两个值组成的数组,可以查看源码中的choicelist.htm。

呵呵!看起来比较烦,但对于一个关联表上是有大量数据时,这种方式比较好的,原因是开发人员可以自行去实现自已的选择框,比如加上查询过滤条件或者是分页之类的,这样用起来就更加灵活了。
当然,对于关联表上是少量数据,又或者那种很少变化的业务字典,如状态(启用,停用);这种类型采用上面的方式就真的实在太麻烦了,由于时间的问题,这个版本还没实现优化这方面,只能留到下一版本了!

源码:highquery0.4.rar

posted on 2008-07-30 19:03 codeslave 阅读(2423) 评论(4)  编辑  收藏 所属分类: script

评论

# re: javascript高级组合查询控件(0.4更新) 2008-07-30 21:08 august

想问一下,所选条件来自不同的表时如何进行数据库查询,用表名.字段名吗?
另外我觉得添加条件时候,关于左括号、右括号这样的方式太繁琐。给客户用,客户可能会不习惯。

建议加上排序字段的选择。  回复  更多评论   

# re: javascript高级组合查询控件(0.4更新) [未登录] 2008-07-30 22:43 eric

有待继续加强,  回复  更多评论   

# re: javascript高级组合查询控件(0.4更新) 2008-07-31 11:33 codeslave

@august
非常感谢你的意见

关于第一点,现在只提供一个回填的接口,就是说没有快捷的方法,只能自已实现来自其他表的查询,而这个接口只是把值回填进去,这种在大量数据时是可取的,但少量数据或者业务字典就太麻烦了,不可取,下次就会完善这个地方,呵呵!而提到的“表名、字段名”这种方式,就必需要同某种服务端语言(java、c#等)挂勾了,这样好似变成紧藕合了,暂时还不想这样做,让他更独立一点。

关于第二点,呵呵!说得对,客户是上帝!其实整体的可操作性真的不是太好,但未想到有更好的方法!

关于第三点,不知说的是不是数据库记录的排序,其实这点我有想过的,但最后没加上去,主要是生成的排序和条件不应该连在一起,那么就要在返回的时候,把他们分别返回,而且如果有些字段只排序,不作为条件,那么在操作上又要相应地进行处理,因为未考虑得很好,所以最后没加上去,只能留待下次了!  回复  更多评论   

# re: javascript高级组合查询控件(0.4更新) 2008-07-31 12:10 greengrass

加强啦?download下来研究一下先,楼主继续努力!期待更强的功能...  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: