如何仅使用Combobox填充GridView的Selected单元格

时间:2015-09-20 13:21:26

标签: c# winforms datagridview combobox

我的目标很简单。假设我有5行数据,我在DataGridView中填充。在第一列中,我填写了如下所示的数据。用户应填写第二栏中的数据。

姓名: -

年龄: -

地区: -

D.O.B: -

状态: -

现在我必须将ComboBox放在DataGridView的第二列中,用于"区"和"州"仅限行,并保留其余行可编辑。使用DataGridView,我可以使所有行为ComboBox或TextBox。我用谷歌搜索但没有用。我也试过了第三方工具,但这种类型的实现我还没有找到。我试图采用ListView / TreeView而不是DataGridView,但我没有实现。我正在使用C#Winforms VS2010。

如果有任何想法,我准备从头开始。提前谢谢。

编辑: 下面是突出显示的"行"应该是" ComboBox"剩下的应该是" Textboxes"。 enter image description here

如果我添加以下代码,整列将更改为ComboBox。

        DataGridViewComboBoxColumn districtColumn = new DataGridViewComboBoxColumn();
        districtColumn.DataPropertyName = "container";
        districtColumn.HeaderText = "Details";
        districtColumn.ValueType = typeof(Container);
        districtColumn.DisplayMember = "District";  
        districtColumn.ValueMember = "code";
        districtColumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;

        dataGridView1.Columns.Add(districtColumn);

希望你现在清楚地理解我的问题。

谢谢..

1 个答案:

答案 0 :(得分:1)

啊......这次我找到了你。

您需要的是DataGridViewComboBoxCell,创建一个comboxcell并将其放置在网格视图单元格中。

DataGridViewComboBoxCell  cmbcell = new DataGridViewComboBoxCell();
cmbcell.DataSource = Districts; // Your data source

DataGridViewCell normalcell = new DataGridViewTextBoxCell();
normalcell.Value = "Name"; // creating the text cell

dataGridView1.Rows[iRowIndex].Cells[1] = cmbcell; // use your own logic to set row index
dataGridView1.Rows[iRowIndex].Cells[1] = normalcell;

希望这有帮助!

相关问题