DataGridView Combobox column Error

G

Greg

I've populated all the cells in a combo box column with values from 1 -
50 using the following code:

foreach (DataGridViewRow row in uxTabSummary.Rows)
{
DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)
row.Cells["numRows"];
for (int i = 1; i < 51; i++)
{
cell.Items.Add(i);
}
}

However, after the user changes a value in the drop down combo box, and
moves the focus to another cell, a "System.ArgumentException:
DataGridViewComboBoxCell value is not valid".

Googling shows an extensive number of people suffering the same, but
I'm none the wiser.

Is there a simple solution to this?

Greg.
 
B

Brian Tkatch

Greg said:
I've populated all the cells in a combo box column with values from 1 -
50 using the following code:

foreach (DataGridViewRow row in uxTabSummary.Rows)
{
DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)
row.Cells["numRows"];
for (int i = 1; i < 51; i++)
{
cell.Items.Add(i);
}
}

However, after the user changes a value in the drop down combo box, and
moves the focus to another cell, a "System.ArgumentException:
DataGridViewComboBoxCell value is not valid".

Googling shows an extensive number of people suffering the same, but
I'm none the wiser.

Is there a simple solution to this?

Greg.

Perhaps you can try adding a DataTable to hold all those values for the
ComboBox, then setting the ComboBoxColumn.DataSource to the DataTable.
The ComboBoxColumn.ValueMember's data must be valid for the underlying
column in the DataGridView.

B.
 
G

Greg

Great, thanks!

Brian said:
Greg said:
I've populated all the cells in a combo box column with values from 1 -
50 using the following code:

foreach (DataGridViewRow row in uxTabSummary.Rows)
{
DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)
row.Cells["numRows"];
for (int i = 1; i < 51; i++)
{
cell.Items.Add(i);
}
}

However, after the user changes a value in the drop down combo box, and
moves the focus to another cell, a "System.ArgumentException:
DataGridViewComboBoxCell value is not valid".

Googling shows an extensive number of people suffering the same, but
I'm none the wiser.

Is there a simple solution to this?

Greg.

Perhaps you can try adding a DataTable to hold all those values for the
ComboBox, then setting the ComboBoxColumn.DataSource to the DataTable.
The ComboBoxColumn.ValueMember's data must be valid for the underlying
column in the DataGridView.

B.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top