sap.m.ListBase
これは、関連するコントロールを使用するときに人々が直面するよくある問題のようです。イベントを管理する方法 (特にイベントを有効化する方法) の概要を説明します。
混乱は、sap.m.ListMode
から継承するコントロールsap.m.ListBase
とからsap.m.ListType
継承するアイテムに関連している可能性がありますsap.m.ListItemBase
。
次のサンプル リストがあるとします。
<List
selectionChange=".onSelectionChange"
itemPress=".onItemPress"
delete=".onDelete"
>
<items>
<ObjectListItem
title="Hello ListItem"
press=".onObjectListItemPress"
/>
</items>
</List>
sap.m.ListMode (サンプル)
sap.m.List
またはを使用している場合sap.m.Table
、イベントの発生は使用している によって異なりmode
ます。残念ながら、mode
プロパティのないリスト/テーブルは、その側からイベントを発生させません! List / Table でこれらのイベントを発生させたい場合は、それにモードを割り当てる必要があります。例えば:
<List
mode="SingleSelect"
...
>
これらはsap.m.ListMode
ドキュメントからの可能なモードです:
なし (デフォルト)
mode
プロパティが割り当てられていないため、イベントは発生しません。

シングルセレクト | 単一選択左
リスト コントロールmode="SingleSelect"
は、各項目の右側にonSelectionChange
ラジオ ボタンを表示し、ユーザーが特定のラジオ ボタン コントロールをクリックするとすぐにイベントを発生させます。を使用"SingleSelectLeft"
すると、ラジオ ボタンがアイテムの左側に移動するだけです。

シングルセレクトマスター
リストコントロールはmode="SingleSelectMaster"
、マウスオーバーで手を表示onSelectionChange
し、項目をクリックすると を起動します。

複数選択
のリスト コントロールはmode="MultiSelect"
チェックボックスを提供し、項目のチェックおよびonSelectionChange
チェック解除のたびにイベントを発生させます。

消去
でリストを使用するmode="Delete"
と、素敵な削除ボタンと発火が得られますonDelete
。

sap.m.ListType (サンプル)
もう 1 つ確認すべきtype
プロパティがあります。それは、アイテムのプロパティです。
すべてのアイテムは から継承するsap.m.ListItemBase
ため、 という属性がありますtype
。それがどのように見えるか見てみましょう:
<items>
<ObjectListItem
type="Active"
press=".onObjectListItemPress"
detailPress=".onDetailPress"
...
/>
</items>
sap.m.ListMode
ドキュメントにリストされているこれらのタイプがあります。
アクティブ
に応じてmode
、itemPress
リストと press
リスト項目の を起動できます。選択されたアイテムが強調表示されるため、ユーザーは選択されたものを見ることができます。

詳細
イベントを発生させる詳細ボタン (アイコンsap-icon://edit
) が表示されますdetailPress
。

詳細とアクティブ
その名の通り、ディテールとアクティブを合わせたタイプです。したがって、ボタンのクリック時に詳細ボタンが起動detailPress
し、項目自体が list イベントを起動しますitemPress
。

ナビゲーション
アイテムにはナビゲーションのような外観がありitemPress
、アイテムpress
が呼び出されます。

非活性
アイテム自体からアイテム イベントが呼び出されることはありません。
それでは、あなたの問題を見てみましょう。テーブル コントロールに a をmode
割り当てるか、アイテムに a を割り当てる必要がありますtype
。その後、イベントが発生するはずです。
通常、予期しない動作が発生する可能性があるため、 aListMode
と aListType
を同時に使用することは避けますが、自分で確認してください。