メインコンテンツまでスキップ
バージョン: 開発中

SET LIST ITEM

SET LIST ITEM ( * ; list : Text ; itemRef : 演算子, 倍長整数 ; newItemText : Text ; newItemRef : Integer {; sublist : Integer ; expanded : Boolean} )
SET LIST ITEM (list : Integer ; itemRef : Integer, Operator ; newItemText : Text ; newItemRef : Integer {; sublist : Integer ; expanded : Boolean} )

引数型説明
*演算子→指定時, listはオブジェクト名 (文字列) 省略時, listはリスト参照番号
listInteger, Text→リスト参照番号 (* 省略時), または リストオブジェクト名 (* 指定時)
itemRef演算子, 倍長整数→項目参照番号, または 0: リストに最後に追加された項目, または *: リスト中のカレント項目
newItemTextText→新しい項目テキスト
newItemRefInteger→新しい項目参照番号
sublistInteger→項目に添付する新しいサブリスト, または 0: サブリストがない場合 (現在のサブリストを取り除く), または -1: 変更しない
expandedBoolean→オプションのサブリストの展開/折りたたみ
履歴
リリース内容
11 SQL変更
<6初出

説明​

SET LIST ITEM コマンドは、list 引数に渡した参照番号またはオブジェクト名のリストにおいて、itemRef で指定した項目を変更します。

1番目の * 引数を渡した場合、list 引数はフォーム中のリストオブジェクトのオブジェクト名 (文字列) です。この引数を渡さない場合、list 引数はリスト参照番号 (ListRef) です。1つしかフォーム上でリストオブジェクトを使用しない場合、いずれのシンタックスも使用できます。同じリストの複数のリストオブジェクトがフォーム上にあり、2番目の * を渡してカレントの項目を処理する場合、リストオブジェクトごとにカレント項目が異なるため、オブジェクト名に基づくシンタックスを使用しなければなりません。

itemRefには参照番号を渡すことができます。渡した項目参照番号を持つ項目が存在しない場合、コマンドは何も行いません。オプションとしてitemRef に0 を渡し、APPEND TO LISTコマンドを用いてリストへ最後に追加される項目を指定することができます。
最後に、itemRef には * を渡すことができます。この場合、コマンドはリストのカレント項目に対して適用されます。手動で複数のリスト項目が選択されている場合、最後に選択された項目がカレントリスト項目になります。選択された項目が存在しない場合、コマンドは何も行いません。

項目参照番号を使用して作業を実行する場合、項目がユニークな参照番号を持つリストを作成します。そうでなければ、項目を区別できません。詳細については階層リストフォームオブジェクト の説明を参照してください。

newItemText に項目の新しいテキストを渡します。項目参照番号を変更する場合、newItemRef に新しい値を渡します。変更しない場合はitemRef と同じ値を渡します。

項目にサブリストを添付する場合、サブリストの参照番号をsubList に渡します。この時、新たなサブリスを展開するにはexpanded にTrueを、そうでない場合はFalse を渡します。

項目にすでに添付されているサブリストを切り離す場合は、sublist に0 を渡します。この場合、GET LIST ITEM コマンドを使用して、そのリストの参照番号をあらかじめ取得しておくとよいでしょう。そうすれば、リストが必要なくなったときにCLEAR LIST コマンドを使用して削除することができます。

項目のサブリストプロパティを変更しない場合は、sublist に-1 を渡します。

Note: 引数sublist とexpanded はともにオプションですが、指定する場合は組み合わせて指定してください。

例題 1​

hList はユニークな参照番号が付いた項目を持つリストです。以下のボタン用オブジェクトメソッドは、現在選択されているリスト項目にサブ項目を追加します。

 $vlItemPos:=Selected list items(hList)
 If($vlItemPos>0)
    GET LIST ITEM(hList;$vlItemPos;$vlItemRef;$vsItemText;$hSublist;$vbExpanded)
    $vbNewSubList:=Not(Is a list($hSublist))
    If($vbNewSubList)
       $hSublist:=New list
    End if
    vlUniqueRef:=vlUniqueRef+1
    APPEND TO LIST($hSubList;"New Item";vlUniqueRef)
    If($vbNewSubList)
       SET LIST ITEM(hList;$vlItemRef;$vsItemText;$vlItemRef;$hSublist;True)
    End if
    SELECT LIST ITEMS BY REFERENCE(hList;vlUniqueRef)
 End if

例題 2​

GET LIST ITEM コマンドの例題参照

例題 3​

APPEND TO LIST コマンドの例題参照

参照​

GET LIST ITEM
GET LIST ITEM PROPERTIES
SET LIST ITEM FONT
SET LIST ITEM ICON
SET LIST ITEM PROPERTIES

プロパティ​

コマンド番号385
スレッドセーフであるno