数据窗口中按字段的显示值排序

类别:数据库 点击:0 评论:0 推荐:

一个数据窗口中有字段 :人员编码,现在用ddw的方法把它显示为人员的姓名。问题是怎么在排序的时候是按姓名排序而不是按编码排序。

pb的帮助中Syntax for sort order中说明setsort有两种排序的语法:
  columnname order          eg.  "emp_lname A"     "emp_lname A, dept_id D"
  # columnnumber order   eg.  "#3 A"

不过经过测试发现可以按计算列排序的:

因此,新加一个计算列compute_1,表达式为LookUpDisplay( emp_id ),然后将其隐藏掉


string newsort

newsort = "compute_1 D"

dw_1.SetSort(newsort)

dw_1.Sort( )

我抱着试试看的态度直接用表达式排序,居然发现也可以!真没有想到pb还留了这么一手:)

string newsort

newsort = "LookUpDisplay( emp_id ) D"

dw_1.SetSort(newsort)

dw_1.Sort( )


此外,有网友说在PFC中有現成的服務.在數據窗口開啟排序服務的後邊加上inv_sort.of_SetUseDisplay(TRUE)就可以了。这个我没有使用过,供大家参考。

注:该文章原载自本人在pdriver.com的blog。

本文地址:http://com.8s8s.com/it/it19260.htm