2016-06-14 2 views
0

Что я могу сделать, чтобы определить, когда в comboBox у меня есть null, потому что пользователь ничего не выбирает и заменяет его на пустую строку? Я использую для заполнения comboBox DataSource.comboBox заменить 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(); 

мне нужно, чтобы правильно вызвать метод:

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

Или, как другой способ я могу преобразовать нуль в строку в этом случае?

ответ

1

Вы можете использовать Ternary Operator, чтобы проверить его везде, где вам нужно:

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

Полный код:

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

Отлично! Это потрясающе! Спасибо огромное! : D – Quicki