Нужна помощь в C#, связанная с datagridview с picturebox
[это графический интерфейс C#, который я сделал][1]
[1]: https://i.stack.imgur.com/z6nut.png
мне нужна помощь данные отображаются в datagridview
но как извлечь данные из выбранной строки из datagridview, чтобы мой элемент управления PictureBox
когда я нажимаю на любую строку datagridview, можно увидеть изображение из datagridview show
в моем picturebox, но я не знаю, как его получить, много пробовал ... пожалуйста, нужна помощь
я использовал отчеты, созданные табель Эми и подал, как рис и тип данных, как изображения
это мой код...
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.IO; using System.Drawing.Imaging; namespace image_upload_retrieve { public partial class Form1 : Form { public Form1() { InitializeComponent(); } SqlConnection con = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=imagestore; Integrated Security=True;"); SqlCommand cmd; SqlDataAdapter da; DataTable dt; string imgLoc = ""; private void image_Click(object sender, EventArgs e) { try { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "png files(*.png)|*.png|jpg files(*.jpg)|*.jpg|All files(*.*)|*.*"; if (dlg.ShowDialog() == DialogResult.OK) { imgLoc = dlg.FileName.ToString(); picEmp.ImageLocation = imgLoc; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void imagesaving_Click(object sender, EventArgs e) { try { byte[] img = null; FileStream fs = new FileStream(imgLoc, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); img = br.ReadBytes((int)fs.Length); string sql = "INSERT INTO emp values(@img)"; if (con.State != ConnectionState.Open) { con.Open(); cmd = new SqlCommand(sql,con); cmd.Parameters.Add(new SqlParameter("@img",img)); int x = cmd.ExecuteNonQuery(); con.Close(); MessageBox.Show("SAVED SUCESSFULLY"); } } catch (Exception ex1) { con.Close(); MessageBox.Show(ex1.Message); } } private void displayimage_Click(object sender, EventArgs e) { string qry = "select * from emp"; cmd = new SqlCommand(qry,con); da = new SqlDataAdapter(cmd); dt = new DataTable(); da.Fill(dt); dataGridView1.DataSource = dt; //dataGridView1.RowTemplate.Height = 500; foreach (DataGridViewRow row in dataGridView1.Rows) { row.Height = 300; } DataGridViewImageColumn image = new DataGridViewImageColumn(); image = (DataGridViewImageColumn)dataGridView1.Columns[0]; image.ImageLayout = DataGridViewImageCellLayout.Stretch; } private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { //picEmp.ImageLocation = dataGridView1.Rows[1].Cells[0].Value.ToString(); ???????? What kind of code should I write here to on click of datagridview Cell the image should be automatically shown on the picturebox } private void button1_Click(object sender, EventArgs e) { if (picEmp.Image != null) { Image img = picEmp.Image; picEmp.Image = null; img.Dispose(); } } } }
Что я уже пробовал:
проблема с этим кодом
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { //picEmp.ImageLocation = dataGridView1.Rows[1].Cells[0].Value.ToString(); ???????? i above code i have separaete button display on click of it the database pictures are loaded to my datagridview now from datagrid cell click event i want to show up image on my picturebox What kind of code should I write here to on click of datagridview Cell the image should be automatically shown on the picturebox }