• Domingo 22 de Diciembre de 2024, 15:20

Autor Tema:  Problemas con el datagridview  (Leído 1792 veces)

NewDesarrollador

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Problemas con el datagridview
« en: Domingo 28 de Septiembre de 2008, 22:19 »
0
Hola gente:
             Posteo esto por que nececito ayuda . Mi problema es que estoy desarrollando una aplicacion casi la termino pero me trabe .El problema es que tengo un datagridview que el usuario hace una busqueda  .Lo que quiero hacer es que el usuario seleccione una fila haciendo doble click .Despues de eso quiero que me envie el valor de una columna de la fila elejida (en este caso el DNI de esa fila) a una variable de tipo string para despues utilizarla en otros controles .Gracias espero su ayuda o su condolencias jajaajaj Abrazo de gol.
Aca esta el codigo :

public partial class BusquedaSocioForm : Form
    {
        public string DNI;

        public BusquedaSocioForm()
        {
            InitializeComponent();
        }

        private void BusquedaSocioForm_Load(object sender, EventArgs e)
        {
            // TODO: esta línea de código carga datos en la tabla 'sociosDataSet.Socios' Puede moverla o quitarla según sea necesario.
            //this.sociosTableAdapter.Fill(this.sociosDataSet.Socios);

        }

        private void button1_Click(object sender, EventArgs e)
        {
            sociosTableAdapter.FillByNombre(sociosDataSet.Socios,"%"+textBox1.Text+"%");
        }

       
        public void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            DNI = dataGridView1.SelectedCells;              El problema es aca me tira que no se puede cambiar esplicitamente el datagridviewselectedcellcoletion a string
            Close();
        }
    }

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Problemas con el datagridview
« Respuesta #1 en: Lunes 29 de Septiembre de 2008, 17:35 »
0
Consejo: Utiliza [ code][ /code] cuando publiques codigo, hace que sea mas facil de leer.

Ahora, respecto a tu pregunta, necesitas el indice de la columna de donque quieres tomar el valor, suponiendo que el dni esta en la primera columna, su indice seria cero (los indices de vectores comienzan en cero), y el codigo seria:

Código: C#
  1.  
  2.         public void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
  3.         {
  4.             DNI = (string) dataGridView1.SelectedCells[0].Value;
  5.             Close();
  6.         }
  7.  
  8.  

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

NewDesarrollador

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Problemas con el datagridview
« Respuesta #2 en: Martes 30 de Septiembre de 2008, 01:04 »
0
A gracias sos mi idolo enserio . Te puedo preguntar porque se pone (string ) al principio  lo que pasa es que estoy aprendiando a programar solo y yo crei que la unica forma de pasar algo a string era con "conver.tostring"  perdon por mi ignorancia pero si me podes pasar informacion vas a dejar de ser mi idolo a ser mi dios  saludos .
Mario

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Problemas con el datagridview
« Respuesta #3 en: Martes 30 de Septiembre de 2008, 15:31 »
0
Cita de: "NewDesarrollador"
porque se pone (string ) al principio

Al poner (string) lo que estas haciendo es un "casting" o conversion de tipo, esto debido a que "Value" regresa un valor de tipo "object" y tu necesitas un string. Los DataGridView utilizan object porque las celdas pueden guardar un valor de cualquier tipo (string, int, float, etc.). El proceso de convertir un dato en object, y viceversa se conoce en terminologia .NET como boxing/unboxing.

Es valido hacer casting, siempre y cuando los tipos sean compatibles, es decir, tomando tu ejemplo, si el valor de tu dni hubiera sido internamente de tipo "int" en lugar de "string", al hacer el casting hubiera marcado error. En ese caso, si hubiera sido valido usar el "ToString()"

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

NewDesarrollador

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Problemas con el datagridview
« Respuesta #4 en: Martes 30 de Septiembre de 2008, 17:56 »
0
Muchisimas gracias mi maestro sos groso y perdoname por hacerte perder tiempo . Para lo que necestitos silvame que estoy para todo lo que necesites(igual con lo que se comparado con vos no creo que te pueda ayudar mucho paro estoy dispuesto cuando quieras ) Saludos y un abrazo de gol.