2009-05-19 17 views
5

Webアプリケーションで新しいMicrosoft ASP.NET Ajax ComboBoxコントロールを使用していますが、選択したリスト項目をプログラムで設定する方法がわかりません。たとえば、アドレスを受け入れるためのフォームと、都市名を受け入れるComboBoxがあります。ユーザーが入力して保存してアドレスを指定した後、コンボボックスを含むフォームをリセットしたいと思います。私は以下のように選択した項目をリセットすることができる定期的なASP.NETのDropDownListコントロールとASP.NET AJAXのCombobox - プログラムで選択項目を変更できない

City.SelectedIndex = -1; 

ASP.NET AJAX ComboBoxコントロールは、コード行を受け付けます。ページがポストバックするとき、以前に選択された値はまだ選択されています。ヘルプをいただければ幸いです。

アップデート:私は...無駄に以下しようとした

City.ClearSelection(); 

答えて

3

このため一つの解決策は、2つのコマンドに続いて使用することです。

希望の方はこちらそれを見つけるために私にしばらく時間がかかりました。

0

試してください:あなたはCascadingDropDownに

ComboBox.Text = ""; 
ComboBox.ClearSelection(); 
+0

ちょうどそれを試して運がありません。以前に選択された値はまだそこにあります。唯一の解決策は、リストを再バインドすることですが、私は別のデータベースのヒットを避けようとしています。 – jwalkerjr

+0

明確な方法のアイテムコレクションがありますか? ComboBox.Items.Clear()? –

+0

はい、それはリスト項目をクリアしますが、選択した値がまだボックスに表示されます。 – jwalkerjr

0

を参照していますか?その場合は、CascadingDropDownのSelectedValueをnullに設定します。

CascadingDropDown1.SelectedValue = null; 
+1

Tim、実際に私は新しいMS Ajax Control ToolkitのComboBoxコントロールについて話しています。残念ながら、コントロールの.SelectedValueプロパティをnullに設定することは、まだ動作しません。現時点では、これはコントロールのバグであると確信しています。しかし、MSがそれを確認することを願います。 – jwalkerjr

1

これはCodePlexの未解決の問題です。したがって、バグであるため、パッチが発行されるまで解決策はありません。 CodePlexにはissueがあります。あなたは、インデックスを設定したい場合は、それが実際に隠さに保存されているので、私は「」

1

それが仕事ですそれは見えるコントロールのフィールドです。だから私はそれをクリアするためにやっているのはこれです。

foreach (Control control in cbFeatures.Controls) 
      { 
       if (control is HiddenField) 
        ((HiddenField)control).Value = "0"; 
      } 

これは、値を設定したいインデックスの場所に適しています。

0

OKテキスト combobox1.SelectedItem.Text =をクリアするためにDropDownStyle =「ドロップダウン」 と、このコマンドを使用するとき

0

は、以下でCity.ClearSelection()を交換し、次のブログで説明したように隠しフィールドをクリアすることで解決することができます:

City.Items.Insert(0, ""); 
City.SelectedIndex = 0; 

は今、このリストの一部のドロップダウンで空の文字列を入れますテキストを空の文字列に設定するだけでなく、Cityコントロールのテキストを設定します。ドロップダウンリストから空の文字列を削除するには、Page_Loadイベントで

City.Items.Remove(""); 

イベントを使用します。ページセカンド時間をロードするか、この意志をクリアコンボボックスの値

  Combobox1.ClearSelection() 
      Combobox1.Dispose() 

更新パネルで、それが見えるようにする前に

1

*これはまだ2011年2月18日のバージョン3.5.40412以降のバグです。2ツールキットの*

この問題のために私が見つけた修正プログラムはありませんでした(隠れたコントロール、Dispose、等)は

*これは関係なく、私が他のコントロール/パネルなど*

combobox.Items.Clear()でコンボボックスを埋めてきたどのように多くの層深く、私のために働きません。

((TextBox)cmbMachineNum.FindControl( "TextBox"))。Text = "";

+0

ありがとう、@ポール。これは一日中ナッツを運転していた... :) –

関連する問題