リストボックスのJCL_lst_Sortで実行してほしいソート順をソート履歴(列名と昇順・降順の配列)に追加。
使い方
JCL_lst_Sort_Append (“vA04BU_lstBU”;->vA04BU_lstBU_HeaderNames;->vA04BU_lstBU_SortOrders;5;2) // 降順
引数
$1: リストボックスのオブジェクト名
$2: ヘッダー名の配列へのポインタ ->(ARRAY TEXT)
$3: 並び順(昇順:1、降順:2)の配列へのポインタ ->(ARRAY LONGINT)
$4: ソート対象の列番号
$5: ソート方向(昇順:1、降順:2)
//JCL_lst_Sort_Append
//20160503 wat yabe
//リストボックスのソート順を、配列に追加
// OnLoadで呼び出す
// デフォルトの並び順を指定、配列にプッシュしておく
// 関連メソッド:xx_frmOnLoad, xx_frmDefInit, xx_lstXX_OnAfgterSort, xx_lstXX_make
C_TEXT($1;$lstboxName)
$lstboxName:=$1
C_POINTER($2;$aryHeaderNamesPtr)
$aryHeaderNamesPtr:=$2
C_POINTER($3;$arySortOrdersPtr)
$arySortOrdersPtr:=$3
C_LONGINT($4;$nr)
$nr:=$4
C_LONGINT($5;$order)
$order:=$5
C_TEXT($headerName)
//デフォルト指定があれば
$headerName:=JCL_lst_Sort_HeaderName ($lstboxName;$nr)
// ユーザ操作によって列番号が変化する可能性があるため、列番号ではなく名前を配列に保持
If ($headerName#"")
APPEND TO ARRAY($aryHeaderNamesPtr->;$headerName)
APPEND TO ARRAY($arySortOrdersPtr->;$order)
End if
リストボックスが配置されたフォームのOnLoadで実行。デフォルトの並び順を指定、配列にプッシュしておく。
関連して修正するメソッド:xx_frmOnLoad, xx_frmDefInit, xx_lstXX_OnAfgterSort, xx_lstXX_make
関連メソッド:JCL_lst_Sort_Append, JCL_lst_Sort_AppendCurrent