none
Controles dentro de un dataGridView RRS feed

  • Pregunta

  • Buenas,he estado buscando esto por manuales y no he podido encontrarlo,necesitaba crear un checkbox,combobox o textbox en una columna de un datagridview,me explico :

    En el grid hay una columna que almacena el tipo de dato,que puede ser de 3 tipos (boolean,string o double) y en funcion de ese campo debo crear un control y ponerlo en otra columna de ese datagridview.

    Si es boolean,debo crear 2 checkbox,uno para el SI y otro para el NO,si lo que viene en la celda es un string,debo crear un combo,y si viene un double,entonces tendría que poner un textbox.

    Lo que he visto por ahi suele hablar de crear columnas enteras con un check,combo o textbox,pero en ningun sitio he podido ver como crear un control distinto en cada celda. ¿alguien podría explicarme como se hace esto?

    He probado con un datatable,he probado con datarow,he probado con DataGridViewComboBoxCell,DataGridViewComboBoxColumn,he creando celdas a huevo y nada.

    Gracias.


    • Editado polaries martes, 1 de julio de 2014 7:38
    martes, 1 de julio de 2014 7:21

Todas las respuestas

  • Hola Polaries,

    Por consistencia las columnas del DGV definen el tipo de dato, no se si te entiendo mal... la pregunta seria análoga a definir una base de datos en la que cada fila contenga diferentes tipos de datos en sus campos en función a la definición del primero?

    Si es asi, mas que un DGV vinculado a un 'source' deberías construirte tu propio control capaz de generarte dichas filas en tiempo de ejecución dentro de un marco común conteniendo 'CheckBox' 'TextBox' o lo que sea.

    Ya me contaras como progresas.
    Saludos,


    MVP - Visual Developer

    domingo, 6 de julio de 2014 0:07
  • Gracias por la respuesta,al final no pude hacer eso que necesitaba,lo que he hecho es usar para todo una columna de combobox y en funcion del campo que decía antes,ir metiendole los valores al combo :

    Si viene un boolean,le pongo "YES" y "NO" al combo.

    Si viene un String,introduzco los valores de una lista de strings en el combo.

    Y si viene un double,pongo tambien una lista de valores double (en este caso debo permitir escribir en el combo por si se necesita introducir un valor no existente).

    Y en ello estoy. Saludos.

    lunes, 7 de julio de 2014 7:16