私は2つのdevExpress checkedComboBoxes(ボックス)を使用してリストとそのアンチリストを維持しようとしています(つまり、両方のコンボボックスに同じアイテムがあり、リストの1つのみをチェックする必要があります)。DevExpress ExtraEditors checkedcomboboxは同期していませんか?
私はDevExpress社のドキュメントではなく、編集値を設定すると言っているようだとしてvoid
box_ToggleAntibox(
DevExpress::XtraEditors::CheckedComboBoxEdit^ box,
DevExpress::XtraEditors::CheckedComboBoxEdit^ antibox)
{
using namespace DevExpress::XtraEditors::Controls ;
cli::array<String ^>^sAnti = gcnew cli::array<String ^>(2*box->Properties->Items->Count) ;
int ii = 0;
String^delim = ", ";
for each (CheckedListBoxItem^ i in box->Properties->GetItems()) {
if (i->CheckState==Windows::Forms::CheckState::Unchecked)
{
sAnti[ii] = i->Value->ToString();
++ii;
sAnti[ii] = delim;
++ii;
}
}
String^result = String::Concat(sAnti);
antibox->EditValue = result;
}
に通じ呼び出す
EditValueChanged += gcnew System::EventHandler(this, &SelectionControl::exclBox_EditValueChanged);
を扱う各ボックスのよう私は、C++/CLIを使用してい
単純にボックスリストを反復し、アンチリストを!Checkedに設定するよりも簡単です。
しかし、正しく機能していないようです(正しい項目がテキストウィンドウに追加されますが、何もチェックされません)。さらに、イベントが終了した後、私のボックスを見ると、テキストウィンドウの文字列値が正しいことがわかります(選択したものを反映します)。しかし、それを開くと、すべてのアイテムが選択されます。
私は試してみる人はいますか?
代わりに各アイテムのCheckState :: Checkedを設定する方が良いですか?
ありがとうございます!
私は 'antibox-> SetEditValue(result)'を使うと、何もチェックされず、テキストウィンドウに何も表示されません。 – Melanie