在PowerBuilder中使用数据窗口检索到的数据往往是无序的,虽然可以通过设置Select语句实现排序的功能,但是数据窗口一旦生成都无法进行动态调整。笔者总结了在已经生成的数据窗口中实现动态排序的三种方法,现介绍给大家。 一、 准备工作 设计如图1所示的示例窗口。为了更好地比较三种不同的方法,dw—1中的数据来自两个表student和class。student表中包含四个字段sid(学号)、sname(姓名)、saddr(住址)和cid(班号),class表中包含两个字段cid(班号)和cname(班级名称)。 图1二、三种方法的源程序 三种方法中的“执行”按钮的代码分别为: 方法1:用SetSQLselect() string ls—oldsql,ls—newsql,ls—order ls...
//函数名:f_dwsort(datawindow fdw_dw,dwobject fdwo_dwo) return none//说明:用于在数据窗口中模拟资源管理器鼠标单击动作动态排序,并显示排序箭头//调用规则:在数据窗口控件clicked!中写入f_dwsort(this,dwo)//参数:fdw_dw datawindow// fdwo_dwo dwobject//返回值:无//autor:xiaoluoxy萧云String ls_clicked_pos,ls_col,ls_format,ls_tagLong ll_posstring ls_text,ls_column[]int li_ils_clicked_pos = fdwo_dwo.Namell_pos = Pos(ls_clicked_pos,'_t')If ll_pos >0 Then//设置排序ls_col = Left(ls_clicked_pos,ll_pos -1)ls_tag = fdwo_dwo.tagIf ls_tag = ls_col + "A" Thenfdwo_dwo.tag = ls_col + "D"...