|
分類:[C#]
1列目にDataGridViewImageColumnで画像を、2列目・3列目にはテキストを表示させたいのですが
例外のエラーが表示されて上手くいきません。
どうすれば1列目に画像、2・3列目にテキストを表示出来るのでしょうか?
↓エラーメッセージ
DataGridViewで次のエラーが発生しました
System.FormatException:値 'DataGridViewImageColumn{
name=imageColumn,Index=0}'を型'Image'に変換出来ません。
場所
System.Windows.Forms.Formatter.FormatObjectInternal(Object
value, Type targetType, TypeConverter sourceConverter,
TypeConverter targetConverter, String formatString,
IFormatProvider formatInfo, Object formattedNullValue)
場所 System.Windows.Forms.Formatter.FormatObject(Object
value, Type targetType, TypeConverter sourceConverter,
TypeConverter targetConverter, String formatString,
IFormatProvider formatInfo, Object formattedNullValue, Object
dataSourceNullValue)
場所
System.Windows.Forms.DataGridViewCell.GetFormattedValue(Object
value, Int32 rowIndex, DataGridViewCellStyle& cellStyle,
TypeConverter valueTypeConverter, TypeConverter formattedValueTypeConverter,
DataGridViewDataErrorContexts context)
この既定のダイアログを置き換えるには、DataError イベントをハンドルしてください。
private void button1_Click(object sender, System.EventArgs e)
{
string no = "1";
string name = "テキスト";
string add = "補足";
DataGridViewImageColumn imageColumn = new DataGridViewImageColumn();
imageColumn.Name = "imageColumn";
imageColumn.Image = new Bitmap("C:\\picture\\pic.jpg");
imageColumn.ImageLayout = DataGridViewImageCellLayout.Zoom;
imageColumn.Description = "画像";
this.dataGridView1.Columns.Add(imageColumn);
this.dataGridView1.Columns.Add("no", "番号");
this.dataGridView1.Columns.Add("name", "名前");
this.dataGridView1.Columns.Add("add", "補足・説明");
DataGridViewColumn column1 = dataGridView1.Columns[1];
column1.Width = 20;
DataGridViewColumn column2 = dataGridView1.Columns[2];
column2.Width = 180;
DataGridViewColumn column3 = dataGridView1.Columns[3];
column3.Width = 270;
dataGridView1["imageColumn", 0].Value = new Bitmap("C:\\picture\\pic.jpg");
this.dataGridView1.Rows.Add(imageColumn,no,name,add);
}
|