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);
}
}
}