1

フォームでリストボックスコントロールを使用し、プログラムでフォームにアイテムを追加していました。リストボックスでsort(SortOrder :: Ascending)メソッドを呼び出すと、それが実行されると思いましたが、間違っていました。

最終的に、私はこれらの結果を達成することができません。リストボックスを使用する必要はありませんが、次の2つの機能が必要です。

  1. プログラムで文字列をコントロールに追加できる
  2. アイテムがクリックまたは選択されたときにコードを実行できる
  3. リストはアルファベット順にソートできる必要があります
4

1 に答える 1

3

リストボックスもソートできませんでした。最も簡単なのは、リストボックスの代わりに「ListView」コントロールを使用することです。AND ソートの使用方法は (AOT>Forms\tutorial_Form_ListControl) で確認できます。あなたの要件 #1 と #2 は、あなたが行うほとんどすべてのことで可能です。問題はソートだと思います。

別のオプションとして、並べ替えを制御するローカル変数を保持します。配列またはマップのいずれかのコレクション クラスを使用して、キーと値を介して並べ替えを制御できるようにします。その後、ユーザーが何かを追加/削除したときにリストボックスを再読み込みできます。これはクライアント側であり、リストボックスに 1000 以上のコントロールがあるとは思えないため、再ロードしてもパフォーマンスに大きな影響はありません。適切に制御している場合は、listbox.insert([value], [index]) を使用して正しい場所に挿入することもできます。

別のオプションとして、AOT から任意の単純なテーブルをハイジャックし (TmpABC が適切です)、値を挿入してから、単純なクエリを使用して並べ替えるか、さらに良い方法として、TmpABC を ListView コントロールのデータソースに設定し、データソースの並べ替えを使用して並べ替えます。

于 2012-08-13T16:13:39.060 に答える