2016-06-14 30 views
0

ユーザーが何も選択せず空の文字列に置き換えるため、コンボボックスでnullを検出するにはどうすればよいですか?私は、comboBoxのDataSourceを埋めるために使用します。comboBox nullを空の文字列に置き換えます。

public List<Oferty1> FindOffer(string country, string accommodation, string transport, string maintenance) {...} 

または私はこのケースでは、文字列にnullを変換することができますどのように他の方法で:

if (comboBoxTransport.SelectedItem.ToString() == null) 
      comboBoxMaintenance.SelectedItem = ""; 
     this.dataGridViewOffer.DataSource = soc.FindOffer(comboBoxCountry.SelectedItem.ToString(), comboBoxAccommodation.SelectedItem.ToString(), 
      comboBoxTransport.SelectedItem.ToString(), comboBoxMaintenance.SelectedItem.ToString()).ToList(); 

私はそれが正しくメソッドを呼び出す必要がありますか?

答えて

1

You缶use Ternary Operatorへcheck it wherever you need:

comboBoxTransport.SelectedItem == null ? String.Empty : comboBoxTransport.SelectedItem.ToString() 

Complete Code:

if (comboBoxTransport.SelectedItem == null) //ToString can not be called if property is null 
comboBoxMaintenance.SelectedItem = ""; 

this.dataGridViewOffer.DataSource = 
    soc.FindOffer(
        comboBoxCountry.SelectedItem == null ? String.Empty : comboBoxCountry.SelectedItem.ToString(), 
        comboBoxAccommodation.SelectedItem == null ? String.Empty : comboBoxAccommodation.SelectedItem.ToString(), 
        comboBoxTransport.SelectedItem == null ? String.Empty : comboBoxTransport.SelectedItem.ToString(), 
        comboBoxMaintenance.SelectedItem == null ? String.Empty : comboBoxMaintenance.SelectedItem.ToString() 
       ).ToList(); 
+0

Great!素晴らしいです!どうもありがとうございます! :D – Quicki

関連する問題