[英]Datagridview column in C#?
如何讓列能夠包含文本框或圖像? 我試圖將任何類型的數據添加到該列,無論是文本還是圖像。 我如何在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);
}
}
要在DataGridView
添加TextBox
控件,請單擊智能標記並選擇“添加列”。 選擇DataGridViewTextColumn
,然后單擊“添加”。 如果選擇圖像,請選擇DataGridViewImageColumn
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.