不管做什么软件,查询是个非常重要的问题;
我觉得查询必须有以下几点:
1、方便性:
特别对于单据之类的查询来讲显得尤为重要,操作员在很多张单据里找自己需要的那张。
我看过很多软件是这样做的:
1、主窗体上有一个查询按钮,操作员点击这个按钮,弹出一个查询界面,里面有单号,供货商编号,供货商名称 这几个查询条件。
2、操作员输入查询条件,比如单号为20050201;
3、操作员点击确认按钮,查询窗体关闭;
4、主窗体显示查询条件的结果;
上面这种方法是绝大部分软件的做法,但是我个人非常不赞这种方法:
其弊端有:
1、操作麻烦,需要弹出一个查询界面,弹出后输入条件确认后,需要关闭该窗体才能进行查询;
2、回到主界面后,看不到操作员刚才输入的查询条件;
3、如果操作员第一次查询输入的条件不够准确,查不到相应的信息,还要回头再进入查询界面;
4、查询条件不够,比如入库单里还有制单人编号,制单人名称,制单时间,单据状态,备注等信息,如果操作员想根据这些条件来查询,系统就不提供。但是如果查询条件太多,查询界面看上去会很花,给人的感觉不太好;
2、功能性:
很多软件查询条件都作的相对比较弱,比如商品信息,一般就是按照商品编号,商品名称,商品类别这样最简单的条件查询;
但是如果操作员想按照商品的规格,单位,保质期,重量,颜色,供货商等条件进行查询就不行;如果开发人员提供所有的查询,在主界面里放那么多查询条件会把主界面搞得太乱,那就必须做一个新的查询界面,但是这样也增加了操作的复杂度;
3、开发的复杂度;
软件的各个业务复杂度不一样,查询条件也要根据客户订制,很多客户对不同窗体的查询要求也不一样,有的客户觉得 某个查询条件需要,一定要有,有的认为某个查询条件不需要,不要提供。有时当客户把软件用了一段时间后,觉得查询条件不好,需要修改。
所以我觉得需要搞个无为而治的方法,就是在控件里把查询的功能做好,不要在单独做查询功能,而且满足所有可能出现的查询条件,这样一来界面比较清爽,二来也不用自己去开发了。
下面这幅图就是实现了入库单的查询:
http://bbs.2ccc.com/attachments/qingyun_20051014182948.jpg
其查询条件是:
单据编号包含“3”,供货商编号包含“000”,供货商名称包含“大连”;
制单人名称为“daizhicun” ;该界面里的查询通过dbgrideh自带的功能实现。而且操作简单,功能也很强大,几乎满足了所有的查询需求;
以上我对查询功能制作的一些想法,不知道大家平时是怎么做的。
我觉得查询必须有以下几点:
1、方便性:
特别对于单据之类的查询来讲显得尤为重要,操作员在很多张单据里找自己需要的那张。
我看过很多软件是这样做的:
1、主窗体上有一个查询按钮,操作员点击这个按钮,弹出一个查询界面,里面有单号,供货商编号,供货商名称 这几个查询条件。
2、操作员输入查询条件,比如单号为20050201;
3、操作员点击确认按钮,查询窗体关闭;
4、主窗体显示查询条件的结果;
上面这种方法是绝大部分软件的做法,但是我个人非常不赞这种方法:
其弊端有:
1、操作麻烦,需要弹出一个查询界面,弹出后输入条件确认后,需要关闭该窗体才能进行查询;
2、回到主界面后,看不到操作员刚才输入的查询条件;
3、如果操作员第一次查询输入的条件不够准确,查不到相应的信息,还要回头再进入查询界面;
4、查询条件不够,比如入库单里还有制单人编号,制单人名称,制单时间,单据状态,备注等信息,如果操作员想根据这些条件来查询,系统就不提供。但是如果查询条件太多,查询界面看上去会很花,给人的感觉不太好;
2、功能性:
很多软件查询条件都作的相对比较弱,比如商品信息,一般就是按照商品编号,商品名称,商品类别这样最简单的条件查询;
但是如果操作员想按照商品的规格,单位,保质期,重量,颜色,供货商等条件进行查询就不行;如果开发人员提供所有的查询,在主界面里放那么多查询条件会把主界面搞得太乱,那就必须做一个新的查询界面,但是这样也增加了操作的复杂度;
3、开发的复杂度;
软件的各个业务复杂度不一样,查询条件也要根据客户订制,很多客户对不同窗体的查询要求也不一样,有的客户觉得 某个查询条件需要,一定要有,有的认为某个查询条件不需要,不要提供。有时当客户把软件用了一段时间后,觉得查询条件不好,需要修改。
所以我觉得需要搞个无为而治的方法,就是在控件里把查询的功能做好,不要在单独做查询功能,而且满足所有可能出现的查询条件,这样一来界面比较清爽,二来也不用自己去开发了。
下面这幅图就是实现了入库单的查询:
http://bbs.2ccc.com/attachments/qingyun_20051014182948.jpg
其查询条件是:
单据编号包含“3”,供货商编号包含“000”,供货商名称包含“大连”;
制单人名称为“daizhicun” ;该界面里的查询通过dbgrideh自带的功能实现。而且操作简单,功能也很强大,几乎满足了所有的查询需求;
以上我对查询功能制作的一些想法,不知道大家平时是怎么做的。
http://bbs.2ccc.com/topic.asp?topicid=195286
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=3238267
1.主窗体上有一个查询按钮,操作员点击这个按钮,弹出一个查询界面,默认是简单模式(当然还有个高级模式)。(这个界面基类里写好,程序员开发单据时,根本不用写代码).
简单模式下,只有两个条件,即取主窗体grid上前两个列为查询条件。可切换高级模式,里面可以自定义主窗体grid 里每一个字段的条件(界面绝不是你所想像的一个字段就放一个label,一个edit那么的傻)。
2.公司有自己开发的grid控件,grid的title上面有过滤的小按钮(用过excel的过滤功能没?就跟那个一模一样的效果,我就不多说了).