我需要在数据gridview中将图像添加到c#
中的picturebox这是我的datagridview线。
if (e.RowIndex >= 0)
{
DataGridViewRow row = this.dataGridView3.Rows[e.RowIndex];
e_id.Text = row.Cells["emp_id"].Value.ToString();
e_Fname.Text = row.Cells["emp_Fname"].Value.ToString();
e_Lname.Text = row.Cells["emp_Lname"].Value.ToString();
}
我需要点击datagridview中的一行,然后在图片框中加载图片。
答案 0 :(得分:4)
令人惊讶的是,上面的NOBODY提供了正确的答案。 上面的请求是:“我需要点击datagridview中的一行,然后在图片框中加载图片。”
这是C#中的正确方法,或者只是使用CType转换为VB的字节数组:
MemoryStream ms = new MemoryStream((byte[])grdProducts.CurrentRow.Cells[5].Value);
picProduct.Image = Image.FromStream(ms);
MikeB443 [kd2cmo]
答案 1 :(得分:1)
表格活动:
Private con As New SqlConnection("YourConnectionString")
Private com As SqlCommand
Private Sub DGV_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV.CellClick
con.Open()
com = New SqlCommand("SELECT MyPhoto FROM tbGalary WHERE ID=" & DGV.Rows(e.RowIndex).Cells(0).Value, con)
Dim ms As New MemoryStream(CType(com.ExecuteScalar, Byte()))
txtPicture.Image = Image.FromStream(ms)
txtPicture.SizeMode = PictureBoxSizeMode.StretchImage
com.Dispose()
con.Close()
End Sub
SQL表:
CREATE TABLE [dbo].[tbGalary](
[ID] [int] NOT NULL,
[MyPhoto] [image] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
SQL插入图片:
INSERT INTO tbGalary VALUES('1','D:\image1.jpg')
INSERT INTO tbGalary VALUES('2','D:\image2.jpg')
INSERT INTO tbGalary VALUES('3','D:\image3.jpg')
INSERT INTO tbGalary VALUES('4','D:\image4.jpg')
INSERT INTO tbGalary VALUES('5','D:\image5.jpg')
<强>结果强>
视频链接:Retrieve an image in DataGridView load to PictureBox in VB.NET
答案 2 :(得分:0)
使用此:
pictureBox1.Image = (Image)dataGridView3.Rows[0].Cells[1].Value;
根据您的专栏和行使用您的索引。
答案 3 :(得分:0)
如果您使用ImageList存储图像,我在这种情况下所做的是将图像的索引存储在单元格的Tag属性中。
答案 4 :(得分:0)
Image newImage = (Image)row[8].Value;
pictureBox1.Image = newImage;
或
Image newImage = (Image)dgvDisplayTiles.CurrentRow.Cells[3].Value;
pictureBox1.Image = newImage;
row[8].Value 将根据您的 Datagridview,因为我使用的是 Superdatagrid 视图,这就是我编写 row[8].Value 的原因。
答案 5 :(得分:-1)
我知道已经很晚了,但我仍然想分享我的解决方案。
关于datagrid的属性。你会发现CellClick。
private void sampleGrid_CellClick(object sender, DataGridViewCellEventArgs e)
{
string picpath = @"C:\Users\Public\Pictures\FolderOfYourImages\";
//"emp_Lname" or the column index that you want to use
picpath = picpath + sampleGrid["emp_Lname", grdTrans.CurrentCell.RowIndex].Value.toString() + ".jpg"
picbox.ImageLocation = picpath;
}
何时单击数据网格。它会改变图片框中的图像。对于我的示例,我选择LastName作为图像名称。但这取决于你,它只是一个简单的连接。最后,只需确保图片存在于您的路径中。
希望这仍然有用:)快乐编码。