0

とても簡単な質問があります。私は驚いた、それは答えを見つけることができなかった. ZK フレームワークで ListBox (org.zkoss.zul.ListBox) を完全にクリアするにはどうすればよいですか?

4

4 に答える 4

3

以下のコードはリストボックスをクリアしますが、モデルが使用されている場合は問題を引き起こす可能性があります:

lb.getItems().clear();

以下のコードは選択をクリアします:

lb.clearSelection();

以下のコードは、新しいモデルを設定し、古いモデルとすべてのアイテムを削除します。モデルが空の場合、リストボックスは空になります

lb.setModel(model);

新しいアイテムのセットを入手したい場合は、最後のアイテムが最適です。
それらのリストがある場合は、次を使用します。

lb.setModel(new ListModelList<>(myList)); 
于 2013-08-27T19:20:57.983 に答える
1

APIが表示された場合

public java.util.List<Listitem> getItems()

すべての Listitem のライブ リストを返します。ライブとは、List インターフェイスを使用して直接追加または削除できることを意味します。つまり、返されたリストを直接操作することで、アイテムを追加または削除できます。

したがって、このリストから削除すると、ListBox から削除されます。

したがって、最終的にあなたの行はlistbox.getItems().clear();

于 2013-08-27T19:20:25.580 に答える
0
  • を使用してもsetModel、ページ番号Listboxは前の目次ページ番号のままです。
  • getItems.clear()のページ番号もクリアしません。Listbox

編集:

私はこれについての解決策を見つけました:リスト項目と一緒にページ番号も削除されるようにするために、これを行う1つの方法は次のとおりです:

// removes the data items by setting an empty model
// this has to be done before resetting the mold
myListbox.setModel(new ListModelList<String>());

// removes the page numbers by resetting the mold
myListbox.setMold("<b>default</b>");

データを入力する必要がある場合は、型をページングに設定し、モデルにデータのリストを設定する必要があります。

List<String> res= myListData(); //the data to be filled in the listbox
myListbox.setMold("<b>paging</b>");
myListbox.setPageSize(15);
myListbox.setActivePage(0);
myListbox.setModel(new ListModelList<String>(res));

もう 1 つの方法は、ページング コントローラーの可視性を制御することです。

eventListbox.getPagingChild().setVisible(false);
于 2014-07-16T09:34:58.507 に答える