2012-11-20 65 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