请品一品这段代码,好不好用自己知道

xiaoluoxy 2001-08-04 06:31:09
//函数名:f_dwsort(datawindow fdw_dw,dwobject fdwo_dwo) return none
//说明:用于在数据窗口中模拟资源管理器鼠标单击动作动态排序,并显示排序箭头
//调用规则:在数据窗口控件clicked!中写入f_dwsort(this,dwo)
//参数:fdw_dw datawindow
// fdwo_dwo dwobject
//返回值:无
//autor:萧云

String ls_clicked_pos,ls_col,ls_format,ls_tag
Long ll_pos
string ls_text,ls_column[]
int li_i

ls_clicked_pos = fdwo_dwo.Name
ll_pos = Pos(ls_clicked_pos,'_t')

If ll_pos >0 Then
//设置排序
ls_col = Left(ls_clicked_pos,ll_pos -1)
ls_tag = fdwo_dwo.tag
If ls_tag = ls_col + "A" Then
fdwo_dwo.tag = ls_col + "D"
ls_format = ls_col+" A"
ELSEIF ls_tag = ls_col + "D" Then
fdwo_dwo.tag = ls_col + "A"
ls_format = ls_col+" D"
Else
fdwo_dwo.tag = ls_col + "D"
ls_format = ls_col+" A"
End If

//设置列标题
for li_i = 1 to long(fdw_dw.object.datawindow.column.count)
ls_column[li_i] = fdw_dw.describe("#" + string(li_i) + ".Name") //得到列名
ls_text = fdw_dw.Describe(ls_column[li_i] + "_t.text")
if right(ls_text,2)="▽" or right(ls_text,2)="△" then
ls_text = left(ls_text,len(ls_text) - 2)
end if
fdw_dw.modify(ls_column[li_i] + "_t.text='"+ls_text + "'")
next

ls_text = fdw_dw.Describe(ls_clicked_pos + ".text")
if right(ls_text,2)="▽" or right(ls_text,2)="△" then
ls_text = left(ls_text,len(ls_text) - 2)
end if
if right(ls_format,1) = 'A' then
fdw_dw.modify(ls_clicked_pos + ".text='"+ls_text + "△'")
elseif right(ls_format,1) = 'D' then
fdw_dw.modify(ls_clicked_pos + ".text='"+ls_text + "▽'")
end if
fdw_dw.SetSort(ls_format)
fdw_dw.Sort()
End If

//本程序在pb6.5下通过测试
...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerwood12345 2001-08-05
  • 打赏
  • 举报
回复
很实用
pinglv 2001-08-05
  • 打赏
  • 举报
回复
很好,谢谢!
「已注销」 2001-08-05
  • 打赏
  • 举报
回复
已阅

@_@
daluobo 2001-08-05
  • 打赏
  • 举报
回复
多谢了,我也需要这个函数呢,写的不错
net_fox 2001-08-04
  • 打赏
  • 举报
回复
谢谢你这段代码,我正想自己写一个呢!

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧