Foros del Web » Programación para mayores de 30 ;) » .NET »

mostrar una imagen al hacer clic en una celda de un Datagridview

Estas en el tema de mostrar una imagen al hacer clic en una celda de un Datagridview en el foro de .NET en Foros del Web. hola comunidad necesito de su ayuda... tengo este pequeño código en donde pretendo mostrar en un Datagridview una tabla que con una sentencia en sql ...
  #1 (permalink)  
Antiguo 09/02/2015, 18:13
 
Fecha de Ingreso: diciembre-2013
Mensajes: 24
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta mostrar una imagen al hacer clic en una celda de un Datagridview

hola comunidad necesito de su ayuda...

tengo este pequeño código en donde pretendo mostrar en un Datagridview una tabla que con una sentencia en sql la muestro, después quiero que en la columna dirección se muestre la palabra de "mostrar" y que al hacer clic en ella se muestre la imagen que tengo guardada en la base de datos (tengo guardado el path).

hasta este momento el código me muestra la tabla y así también tengo uno que otro código que está mal porque saque la idea de varias aplicaciones y ahora me encuentro con ese problema .. ayuda porfis

Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Diagnostics;

namespace abrirPathEnListas
{
    public partial class Form2 : Form
    {
        SqlConnection conexion = new SqlConnection();
        SqlCommand comandos = new SqlCommand();
        
        public Form2()
        {
            InitializeComponent();
        }
        class customcolumn : System.Windows.Forms.DataGridViewLinkColumn
        {
            public Dictionary<int, string> urls = new Dictionary<int, string>();
        }
        private void Form2_Load(object sender, EventArgs e)
        {
            conexion.ConnectionString = @"Data Source=IRVIN-PC;Initial Catalog=imagenes;Integrated Security=True";
            SqlDataReader dr;
            comandos.Connection = conexion;
            comandos.CommandText = "SELECT periodo,departamento,materia,profesor,grupo,direccion FROM actasPath";
            comandos.CommandType = CommandType.Text;
            conexion.Open();
            dataGridView1.Rows.Clear();

            dr = comandos.ExecuteReader();

            while (dr.Read())
            {
                int renglon = dataGridView1.Rows.Add();

                dataGridView1.Rows[renglon].Cells["periodos"].Value = dr.GetString(dr.GetOrdinal("periodo")).ToString();
                dataGridView1.Rows[renglon].Cells["dpto"].Value = dr.GetString(dr.GetOrdinal("departamento")).ToString();
                dataGridView1.Rows[renglon].Cells["materias"].Value = dr.GetString(dr.GetOrdinal("materia")).ToString();
                dataGridView1.Rows[renglon].Cells["profesores"].Value = dr.GetString(dr.GetOrdinal("profesor")).ToString();
                dataGridView1.Rows[renglon].Cells["grupos"].Value = dr.GetString(dr.GetOrdinal("grupo")).ToString();
                
                //tengo aquí que guardar el valor que extraigo de la base de datos y almacenarla en una variable para mostrarla en la parte de abajo donde tengo la direccion de la imagen??

                dataGridView1.Rows[renglon].Cells["path"].Value = dr.GetString(dr.GetOrdinal("direccion")).ToString();
                int row_index = 0;
                int column_index = 0;
                customcolumn c = new customcolumn();
                dataGridView1.Columns.Add(c);
                dataGridView1.Rows.Add();

                dataGridView1.Rows[row_index].Cells[column_index].Value = "buscar";

                ((customcolumn)(dataGridView1.Columns[column_index])).urls.Add(row_index, "C:\\Users\\irvin\\Pictures\\1.png");
            }
           
            conexion.Close();

            
        }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            
        }

        private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            foreach (KeyValuePair<int, string> url in ((customcolumn)(dataGridView2.Columns[e.ColumnIndex])).urls)
            {
                if (url.Key == e.RowIndex)
                {
                    Process.Start(url.Value);
                    break;
                }
            }

           
        }
    }
}

Etiquetas: datagridview, path, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:52.