2013-03-20 52 views
0

我想在添加新項目之前檢查項目是否已經存在於列表框中。添加新項目前檢查列表框

  if (TeamNameTextBox.Text != "") 
     { 
      if (TeamNameListBox.Items.FindByValue(TeamNameListBox.Text) == null) 
      { 
       TeamNameListBox.Items.Add(TeamNameTextBox.Text); 
       TeamNameTextBox.Text = ""; 

       int teamCountUpdate = TeamNameListBox.Items.Count; 
       if (teamCountUpdate == 1) 
       { 
        TeamCount.Text = teamCountUpdate.ToString() + " Team"; 
       } 
       else 
       { 
        TeamCount.Text = teamCountUpdate.ToString() + " Teams"; 
       } 
      } 
      else 
      { 
       AddTeamSeasonError.Text = "This team has already been added"; 
      } 
     } 
     else 
     { 
      AddTeamSeasonError.Text = "Please select a team"; 
     } 

我已經得到它來檢查,如果文本框爲空,但我需要檢查用戶嘗試添加的項目是不是已經在列表框中。

我已經試過行:

if (TeamNameListBox.Items.FindByValue(TeamNameListBox.Text) == null) 

但是,這並不工作,我如何能做到檢查有什麼建議?

+1

請不要張貼同樣的問題一次以上。我已經投票結束了另一個問題,你問過。謝謝。 – shahkalpesh 2013-03-20 19:38:59

回答

0

認爲你至少應該嘗試使用TeamNameTextBox代替TeamNameListBox作爲參數

if (TeamNameListBox.Items.FindByValue(TeamNameTextBox.Text) == null) 
+0

哈哈!令人難以置信,謝謝指出! – JackofAll 2013-03-20 19:23:47

0

我想你的意思是

// search if the textbox value is found in the list. this comment shouldn't be part of the code 
if (TeamNameListBox.Items.FindByValue(TeamNameTextBox.Text) == null) 

,而不是

if (TeamNameListBox.Items.FindByValue(TeamNameListBox.Text) == null) // code from question 

編輯:有沒有必要把控件的類型名稱旁邊的變量。
即代替TeamNameListBox,使用teamNames。而不是TeamNameTextBox,請使用teamName

1

使用此:

if (!TeamNameListBox.Items.Contains(TeamNameTextBox.Text)) 
       TeamNameListBox.Items.Add(TeamNameTextBox.Text);