列がDatagridviewCombobox
あり、各行に DatagridviewCombobox セルを作成し、それに項目を追加しています。(コンボボックス)セルの値を変更すると、それを示す例外がスローされDatagridviewcombobox cell value is not valid.
、セル値が「1」になります。
私はdatagridview_currentcelldirtystatechange
イベントに取り組んでいますが、それを機能させることができませんでした。
以下のコードは、行を作成し、コンボボックスのセルにシーケンス番号を入力しています。
int _rowLimit =1;
for (int i = _rowLimit - 1; i < _rowLimit; i++)
{
datagridview.Rows.Add();
item = i + 1;
datagridview[myColumn, i].Value = _rowLimit;
DataGridViewComboBoxCell oCell = datagridview.CurrentRow.Cells[myColumn] as DataGridViewComboBoxCell;
oCell.Items.Add(item);
((DataGridViewComboBoxColumn)datagridview.Columns[myColumn]).Items.IndexOf(_rowLimit);
((DataGridViewComboBoxColumn)datagridview.Columns[myColumn]).Items.Insert(index, item);
}
datagridview_currentcelldirtystatechange
そして、以下は私がイベントでやっていることです:
for (int innerIndex = 0; innerIndex < datagridview.Rows.Count; innerIndex++)
{
long sequence = 3;
long oldSequence = 2;
long tempValue= Convert.ToInt64(datagridview.Rows[innerIndex].Cells[myColumn].Value);
if (tempValue <= sequence && tempValue> oldSequence)
{
datagridview.Rows[innerIndex].Cells[myColumn].Value = tempValue+ 1; // increment the sequence
// value here i am getting is correct , but it doesn't show in the DatagridviewCombobox cell where it gets changed of gridview and the mentioned exception is thrown.
}
どんな助けでも大歓迎です。ありがとう。