ComboBoxとDataGridViewComboBoxColumnを同期させる(その4)
今日は忙しいのでこれ以上書けないかもしれないので、メモとして書いておく。
GenderItemComboBoxCellは、以下のように書き換える。
public class GenderItemComboBoxCell : DataGridViewComboBoxCell { public override object ParseFormattedValue( object formattedValue, DataGridViewCellStyle cellStyle, TypeConverter formattedValueTypeConverter, TypeConverter valueTypeConverter) { if (String.IsNullOrEmpty(this.ValueMember)) { return this.DataSource; } else { return this.DataGridView.BindingContext[this.DataSource].Current; } } protected override object GetFormattedValue( object value, int rowIndex, ref DataGridViewCellStyle cellStyle, TypeConverter valueTypeConverter, TypeConverter formattedValueTypeConverter, DataGridViewDataErrorContexts context) { object curr = this.DataGridView.BindingContext[value].Current; if (String.IsNullOrEmpty(this.DisplayMember)) { return curr.ToString(); } else { return base.GetFormattedValue(curr, rowIndex, ref cellStyle, valueTypeConverter, formattedValueTypeConverter, context); } } }