1. 程式人生 > >PB資料視窗控制元件函式SetSort()

PB資料視窗控制元件函式SetSort()

SetSort
功能

定義資料視窗控制元件的排序條件。
語法

dwcontrol.SetSort ( format )
引數

dwcontrol:資料視窗控制元件名
 format:string  型別,其值是有效的排序條件。排序條件中可以使用 列名或列號,使用列號時,在列號前加上個#符號。如果 format 引數 的值為 NULL,那麼程式執行時 PowerBuilder 會提醒使用者輸入排序條 件
返 回 值

 Integer。函式執行成功時返回 1,發生錯誤時返回-1。
用法

       在定義資料視窗物件時,可以同時定義排序條件。當使用函式 SetSort()定義新的排序條件後,新的排序條件將取代原有的排序條件。但是,執行 SetSort()函式後, 資料視窗並沒有真正排序資料。要完成排序工作,需要執行資料視窗控制元件的對 象函式 Sort()。
       按某列排序時,在排序條件中放上列名或列號,後跟上“A”或“D”指明 排序方式。其中“A”表示升序,“D”表示降序。要按多個列排序時,在每個 列的排序條件之間用逗號(,)分隔。下面是兩個排序條件示例:
"emp_lname A" "emp_lname A, dept_id D" 

        如果想讓使用者在程式執行時指定排序條件,那麼可以這樣做:以空值作為SetSort() 函式的引數來呼叫 SetSort() 。程式運 行時, PowerBuilder  會顯 示 “SpecifySort Columns”對話方塊,讓使用者指定排序方式。之後呼叫 Sort()函式完 成實際排序。
 程式碼例項:
例 1. 下面的語句為資料視窗控制元件 dw_employee 定義排序條件,該條件的意義為: 按 emp_status 列升序排序,按 emp_salary 列降序排序:
dw_employee.SetSort("emp_status A, emp_salary D")
示例 2. 下面的語句為資料視窗控制元件 dw_emp 設定了按 emp_status 列升序排序、 按 emp_salary 列降序排序的排序條件,然後呼叫 Sort()函式完成實際排序工作:
string ls_newsort
newsort = "emp_status A, emp_salary D"

 dw_emp.SetSort (newsort)

 dw_emp.Sort()