·首页 ·asp ·.net ·php ·JSP ·CGI ·数据库 ·网页设计 ·网管专栏 ·XML ·工具软件 ·办公软件 ·操作系统 ·程序设计 ·LINUX 
  当前位置: 普克>>计算机教程>>程序设计>>PowerBuilder>>如何实现点击列标题对列进行排序
flash视频教学

photoshop专题

asp.net专题

office专题

如何实现点击列标题对列进行排序


PowerBuilder 发表时间:2006-4-8 字体:  返回

问:我想实现当点击列标题时上面有一个位图指示并实现对列进行排序,该怎么办呢?

答:
//实例变量:string i_str_oldcol

string str_objectname,str_curcol,str_addpic
integer int_pic_x

str_objectname=string(dwo.name) //对象名称
if row=0 and this.describe(str_objectname+".band")="header" and this.describe(str_objectname+".text")<>"!" then //是否点击列对象
str_curcol=left(str_objectname,len(str_objectname) - 2) //当前列对象名称
if str_curcol<>i_str_oldcol then //点击的是不同列对象
this.modify("destroy p_sort") //不管有没有位图对象都删除
i_str_oldcol=str_curcol //保存上次点击的列对象
//画图
int_pic_x=integer(this.describe(str_objectname+".x"))+(integer(this.describe(str_objectname+".width")) - 70)
str_addpic='create bitmap(band=foreground filename="up.bmp" x="'+string(int_pic_x)+'" y="24" height="33" width="51" border="0" name=p_sort visible="1")'
this.modify(str_addpic) //动态画个图
this.setsort(str_curcol +" A") //头一次点击当然是升序了
this.sort()
else //当前列已经点过了
if this.describe("p_sort.filename")="up.bmp" then //上次是升序
this.modify("p_sort.filename='down.bmp'") 
this.setsort(str_curcol+" D") //这次是降序
else
this.modify("p_sort.filename='up.bmp'")
this.setsort(str_curcol+" A")
end if
this.sort()
end if
end if

注意:本文在乌龟学堂有实例。

 

一、在窗口中声明二实例变量:

    //取得上次单击的列对象
    string i_str_precolumn="" 
    //判断上次是按升还是按降来排序
    integer i_int_clicktime=0

二、在数据窗口控件中的单击事件中写入以下代码:

    string str_column,str_format

    str_column=dwo.name //取点击的对象
    if right(str_column,2) <> "_t" then return
    //对于列标题,取得的对象是列名+"_t"
    str_column=left(str_column,len(str_column) - 2)
    if str_column=i_str_precolumn then //已点击过
       if i_int_clicktime=0 then //0表示原来按降序
          i_int_clicktime=1
          str_format=str_column + " A"
       else
          i_int_clicktime=0
          str_format=str_column + " D"
       end if
    else
       i_int_clicktime=1 //1表示原来按升序
       str_format=str_column + " A"
    end if
    i_str_precolumn = str_column
    dw_1.SetSort(str_format)
    dw_1.Sort()



上一篇:怎样得到计算域的值
下一篇:暂无

普克创业投资网刊载此文不代表同意其说法或描述,仅为提供更多信息。
在百度中搜索如何实现点击列标题对列进行排序的相关内容]   [在狗狗中搜索如何实现点击列标题对列进行排序的相关内容]
Copyright @ 2006 PUPK.COM 普克创业投资网 版权所有
 建议使用1024*768以达到最好的浏览效果