我有一个带有datagridview的asp.net webform C#。每个ID#都有一个jpg图像文件,保存为ID字段的确切编号 基本上我想要做的是找到一种基于所选行ID列显示图像的方法。有几百行,那么如何根据ID选择图像?
例如,我有3列:
ID | FirstName | LastName |
----------------------------
2324| John | Doe |
2034| Jane | Doe |
2946| Mike | Blank |
让我们说Mike Blank被选中了。我想在页面顶部显示图像2946.jpg(因为那是他的ID#是什么)。
注意:所有图像都保存在同一文件夹中。
答案 0 :(得分:1)
此代码将在索引0处插入图像列,抓取存储在C:\Images\[userID].jpg
中的图像,并在单击单击时加载它们。一般的想法保持不变,您需要添加DataGridViewImageColumn
,然后您可以随时填充或随时填写。{1}}。
private void Form1_Load(object sender, EventArgs e)
{
this.usersTableAdapter.Fill(this.testDBDataSet.Users);
DataGridViewImageColumn imageCol = new DataGridViewImageColumn();
dataGridView1.Columns.Insert(0, imageCol);
dataGridView1.Columns[0].Name = "Image";
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int userID = (int)dataGridView1.Rows[e.RowIndex].Cells[1].Value;
Bitmap img = new Bitmap(@"C:\Images\" + userID + ".jpg");
dataGridView1.Rows[e.RowIndex].Cells[0].Value = img;
}
它产生如下输出:
要在表单中的其他位置添加图片,您需要为表单创建PictureBox
,并在行上单击(或每当您想要更新图像时),只需设置例如。
int userID = (int)dataGridView1.Rows[e.RowIndex].Cells[1].Value;
pictureBox1.ImageLocation = @"C:\Images\" + userID + ".jpg";