データグリッドビューにルックアップ コンボボックスを追加しました。既存の行を変更したり、新しい行を追加したりすると、保存時に RowState の値が Modified または Added に変更されました。コンボボックスの値を変更することを除いて。保存すると、RowState は変更されないままになります。
コンボボックスを追加するために使用するコードは.
DataGridViewComboBoxColumn cbQualification = new DataGridViewComboBoxColumn();
cbQualification.HeaderText = "Course Code";
DataSet myDataSet = GetData.GetCoursesData();
cbQualification.DataSource = myDataSet.Tables[0];
cbQualification.DisplayMember = "Code";
cbQualification.ValueMember = "ID";
cbQualification.DataPropertyName = "QualID";
grdPersonQuals.Columns.Insert (1,cbQualification);
保存イベントはコードを使用します。
grdPersonQuals.BindingContext[grdPersonQuals.DataSource, grdPersonQuals.DataMember].EndCurrentEdit();
foreach (DataRow row in dsPersonQuals.Tables[0].Rows)
{
object x = row.RowState;
}