2012-11-20 33 views
-1

我已經在網格中的特定列中添加了組合框,並且已經填充了它。所以當網格填滿時,組合框也填充了預定義的值。我試圖過濾像這樣的特定行:如果第1列的值爲'one',我需要用「one」,「two」和「three」填充組合框,否則我的組合框需要具有預定義的值。從某種意義上說,我需要訪問每一行中的控件。這可能以某種方式嗎?專門填充DataGridView中的組合框

由於提前,

+1

你在找AutoComplete ..嗎?例如,如果你輸入FL,列表應該過濾到Flint,Flow,Flower ..? – MethodMan

+0

我不知道如何幫助你更清楚地問這個,但我不明白你需要什麼 –

回答

0

如果您正在尋找自動完成嘗試設置組合框Prorperties以下值

1. Set AutoCompleteMode = SuggestAppend 
2. Set AutoCompleteSource = ListItems 

如果你是從一個數據源綁定,那麼你可以設置在代碼

1

我想我明白你想要什麼,你可以填寫你的組合框在數據網格事件的表單加載事件,你可以訪問網格中每一行的組合框

private void form1_load(object sender, EventArg e) 
{ 
    for (int i = 0; i < gridView1.Rows.Count; ++i) 
    { 
     DataGridViewComboBoxCell cell = gridView1.Rows[i].Cells[5] as DataGridViewComboBoxCell; 
     if (gridView1.Rows[i].Cells[1].Value.ToString() == "one") 
     { 
      cell.Items.Clear(); 
      cell.Items.Add("one"); 
      cell.Items.Add("two"); 
      cell.Items.Add("three"); 
     } 
    } 
} 

我認爲帶有comboBox的列在網格中有索引5。

+0

這可以通過在網格中循環來完成嗎?我在問,因爲所有數據都被DataSource轉儲。 – Sunscreen

+0

確定 填寫網格或數據源後,您可以在網格上循環並執行相同的操作 – AlaaL

+0

我編輯了我的答案 – AlaaL