列にテキストボックスまたは画像を含めるにはどうすればよいですか?テキストであろうと画像であろうと、その1つの列に任意のタイプのデータを追加しようとしています。C#でこれを行うにはどうすればよいですか?
プログラムで、テキストボックスと画像の両方を同じ列に配置します...どうすればよいですか?
列にテキストボックスまたは画像を含めるにはどうすればよいですか?テキストであろうと画像であろうと、その1つの列に任意のタイプのデータを追加しようとしています。C#でこれを行うにはどうすればよいですか?
プログラムで、テキストボックスと画像の両方を同じ列に配置します...どうすればよいですか?
これが例です。ただし、デフォルトの画像を処理する必要があります(これがない場合は、クロスマークされた画像が表示されます)。このMSDNリンクを参照してください
private void Form1_Load(object sender, EventArgs e)
{
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Name");
dataTable.Columns.Add("Image");
dataTable.Rows.Add("Desert", @"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg");
dataTable.Rows.Add("Tulips", @"C:\Users\Public\Pictures\Sample Pictures\Tulips.jpg");
dataTable.AcceptChanges();
DataGridViewTextBoxColumn textColumn = new DataGridViewTextBoxColumn();
textColumn.DataPropertyName = "Name";
textColumn.HeaderText = "Name";
textColumn.Width = 100;
dataGridView1.Columns.Add(textColumn);
DataGridViewImageColumn imageColumn = new DataGridViewImageColumn();
imageColumn.DataPropertyName = "Image";
imageColumn.HeaderText = "Image";
imageColumn.Width = 100;
dataGridView1.Columns.Add(imageColumn);
dataGridView1.DataSource = dataTable;
}
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewImageColumn)
{
string imagePath = (e.Value ?? "").ToString().Trim();
if(System.IO.File.Exists(imagePath))
e.Value = Image.FromFile(imagePath);
}
}
TextBox
内にコントロールを追加するにはDataGridView
、スマートタグをクリックして、[列の追加]を選択します。DataGridViewTextColumn
[追加]を選択してクリックします。画像を選択DataGridViewImageColumn
する場合に選択します。