0

用途: VS 2012;

フォームのデータソースにコンボボックスが接続されています。そして、物事はうまくいきます。フォームを実行すると、すべて正常に動作します。ドロップダウン リストで項目を選択すると、データソースも更新されます。私の問題は、保存した後に選択したものを選択解除/元に戻す必要がある場合、または選択したものを削除する必要がある場合に発生します(基本的に、そのフィールド値に対してnullにする必要があります)。

私たちのレガシー システムはDelphi 3 & 5で構築され、ユーザーはドロップダウン リストを右クリックして、という名前のボタンのような小さなポップアップを取得する機能を利用できました。

空欄

選択されたものを空白にします。ユーザーが .NET のコンボ ボックスで選択したものと同じことを行うものは見つかりませんでした。

4

2 に答える 2

3

次のコードを使用して、名前付き (または類似の名前)dropdownに新しいアイテムを追加できます。-Select-

drp.DataSource = dataSet;
drp.DataBind();
// do it after binding
    drp.Items.Insert(0, new ListItem("-Select-", "NA"));

xaml でバインドしている場合は、page_loadイベント時にこの行のみを記述できます

 drp.Items.Insert(0, new ListItem("-Select-", "NA"));

ユーザーが選択を解除したい場合は、単にアイテムを選択し-Select-ます。

于 2013-07-26T09:12:08.530 に答える
0

すべての回答と提案に感謝しながら、@ V4Vendetta のアイデアを使用してソリューションを作成しました。

削除キーをクリックしてデータグリッドビューでレコードを削除するのと同様に、同じ概念を採用し、ソリューションを削除キーに関連付けました。

私がしたことは、次のような ComboBox の Keypress イベントのハンドラーを作成することでした。

private void comboBox_KeyPress(object sender, System.Windows.Forms.KeyEventArgs e)
{
    if (e.KeyCode == Keys.Delete)
    {
            (sender as ComboBox).SelectedIndex = -1;    
    }
}

利用可能なすべての ComboBox にリンクされています

ComboBox1.KeyDown += new KeyEventHandler(comboBox_KeyPress);
ComboBox2.KeyDown += new KeyEventHandler(comboBox_KeyPress);

ComboBox が選択されている/アクティブな状態でユーザーがDeleteキーをクリックすると、空白になります。

于 2013-07-26T09:25:56.717 に答える