2012-08-24 19 views
2

我有品串像一個組合框得到組合框的值:如何使用字符串在C#

1 . Apple 
2 . Banana 
3 . Mango 

1,2,3是類別ID &蘋果,香蕉,芒果類別名稱。

我想知道類別ID從comboBox使用類別名稱,它是ComboBox項目的子字符串。

示例:

我想知道香蕉的類別ID。這是2.

任何幫助嗎?

+3

那你試試這麼遠嗎? – BugFinder

+0

它是Web還是Windows窗體? – Giedrius

+1

是否適合你?即我的答案? –

回答

2
foreach (object item in cmb.Items) 
    { 
     string[] str = item.ToString().split(new char[] {' '} 
, StringSplitOptions.RemoveEmptyEntries); 
     if(str[1] == "Banana") 
     { 
      Console.Write(str[0]); 
     } 
    } 
+0

類別ID和類別名稱之間有3個空格,應該是str [str.count-1] ==「Bannana」 – hamed

+2

@hamed - 即yi在StringSplitOptions.RemoveEmptyEntries中添加了StringSplitOptions.RemoveEmptyEntries我的溢出函數作爲參數,所以它刪除空條目..讀分割文件,將給你更多的想法 –

+0

@syedAhsanJaffri - 好的。不要忘了upvote和標記爲接受,如果它適合你.. –

4

使用此代碼,您在ComboBox中選定的項目之後,應該是一個事件:

 string []str; 
     str = comboBox1.Text.Split(' '); 
     string categoryId = str[0]; 
+0

爲什麼downvoted? – hamed

+0

因爲我怎麼知道str [0]與香蕉或蘋果或其他字符串有關...答案不完整 –

+0

@PranayRana我以爲他想在comboBox上選擇它後獲取類別的ID。 – hamed

3

試試下面的代碼。它會給出所選類別的CategotyId

private void ComboBox1_SelectedIndexChanged(object sender, System.EventArgs e) { 
    string selectedText = comboBox1.SelectedText; 
    string categoryId = selectedText.Substring(0, selectedText.IndexOf(" ")); 

    MesasgeBox.Show(categoryId); 
} 
+0

我沒有選擇任何組合框的索引,也沒有調用selectedIndexChanged方法。 組合框填充值&現在我從網格框中選擇這些字符串像芒果,而不是再次從數據庫中獲取類別ID,這在處理成本方面代價高昂我想從已經填充了多少的組合框中獲取該值更快。 謝謝答案 –

+0

我的答案是使用'Substring'方法。你可以用你想要的任何方法來使用它。我不明白下調的原因。 – Schaliasos

+0

我沒有爲你降職。你的回答非常有幫助,謝謝Schaliasos。 –

2

@Pranay林蛙你回答幫我: 我寫我的方法一樣,

private string get_Godown_id(string godown_name) 
    { 
     foreach (object item in cb_send_to.Items) 
     { 
      if (item.ToString().Split('.')[1].Trim() == godown_name) 
      { 
       return (item.ToString().Split('.')[0]); 
      } 
     } 
     return ""; 
    } 
1
foreach (object item in cb_send_to.Items) 
    { 
     if (item.ToString().Split('.')[1].Trim() == godown_name) 
     { 
      return (item.ToString().Split('.')[0]); 
     } 
    } 
相關問題