none
Faltan campos en el DataGridView RRS feed

  • Pregunta

  • Hola de nuevo, en una tabla de SQL Server se ha añadido un nuevo campo, se modifica el DataSet para que aparezca en nuevo campo y lógicamente en el Origen de datos aparece el nuevo campo, pero... si arrastro la tabla (formato DataGridView), no me aparece el nuevo campo. Si arrastro la tabla con formato "Detalle" si aparece el nuevo campo. ¿Por qué...?

    Si hago una vista previa del DataGridView, si aparece el campo.  ¿¿??

     
    • Editado rbs61 jueves, 14 de enero de 2016 9:26
    jueves, 14 de enero de 2016 9:25

Respuestas

  • "rbs61" escribió:

    > El DataGridView ya existía antes de incorporar el nuevo campo, pero incluso
    > incorporando un nuevo DataGrid y enlazándolo con el DataTable no aparecen
    > estos campos.

    Lo siento pero no puedo reproducir el problema que indicas. Las nuevas columnas del objeto DataTable existente en el objeto DataSet que no aparezcan en el control DataGridView, tienes que añadirlas "manualmente" a dicho control.

    Si te estás refiriendo a que deseas añadir al control DataGridView la columna PrecioZR6 que aparece en el objeto tbPvArticulos, tienes que recompilar de nuevo la solución para que los nuevos cambios efectuados en el objeto DataSet surtan su efecto. Eso sí: asegúrate que el control DataGridView está correctamente enlazado al objeto DataSet mediante su propiedad DataSource, y que en la propiedad DataMember figure el nombre del objeto DataTable que contiene la columna PrecioZR6.


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    lunes, 18 de enero de 2016 12:36
    Moderador

Todas las respuestas

  • Por favor... ayuda. En el DataSet me aparecen los campos nuevos, sin embargo cuando añado un ComboBox o DataGridView para enlazarlo con el campo relacionado a la tabla no aparecen en el BindingSource.
    • Editado rbs61 viernes, 15 de enero de 2016 8:47
    viernes, 15 de enero de 2016 8:46
  • "rbs61" escribió:

    > En el DataSet me aparecen los campos nuevos, sin embargo cuando añado
    > un ComboBox o DataGridView para enlazarlo con el campo relacionado a
    > la tabla no aparecen en el BindingSource.

    Hola:

    En el objeto BindingSource pocos campos van a aparecer, porque me imagino que aparecerán en el objeto DataTable apropiado existente en el objeto DataSet creado:

            ' Referenciamos el nuevo campo
            Dim column As DataColumn = Me.NombreDataSet.NombreDataTable.NombreNuevoCampoColumn

    Desde luego es raro lo que comentas, porque si dices que el nuevo campo aparece en el DataSet generado por el Asistente para configuración de orígenes de datos, todo lo que posteriormente hagas con dicho origen de datos, entiendo que debería de aparecer el nuevo campo. Diferente hubiera sido que tuvieses ya configurado en tu formulario un control DataGridView con antelación a añadir el nuevo campo a la tabla de cualquier base de datos, pero por lo que comentas, parece ser que no es así. En éste caso, tendrías que editar las columnas del control DataGridView para añadir la columna relacionada con el nuevo campo, tal cual muestra la siguiente captura de pantalla:

    Una vez efectuados los cambios en el objeto DataSet, ¿has recompilado la solución seleccionando el menú Compilar --> Recompilar solución?

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    sábado, 16 de enero de 2016 6:11
    Moderador
  • Hola Enrique, yo también lo veo raro. Si creo un nuevo DataSet e incorporo el DataTable entonces no tengo ningún problema. Pero si intento incorporar al DataGrid el nuevo campo no me aparece.

    El DataGridView ya existía antes de incorporar el nuevo campo, pero incluso incorporando un nuevo DataGrid y enlazándolo con el DataTable no aparecen estos campos.

    • Editado rbs61 lunes, 18 de enero de 2016 8:40
    lunes, 18 de enero de 2016 8:36
  • "rbs61" escribió:

    > El DataGridView ya existía antes de incorporar el nuevo campo, pero incluso
    > incorporando un nuevo DataGrid y enlazándolo con el DataTable no aparecen
    > estos campos.

    Lo siento pero no puedo reproducir el problema que indicas. Las nuevas columnas del objeto DataTable existente en el objeto DataSet que no aparezcan en el control DataGridView, tienes que añadirlas "manualmente" a dicho control.

    Si te estás refiriendo a que deseas añadir al control DataGridView la columna PrecioZR6 que aparece en el objeto tbPvArticulos, tienes que recompilar de nuevo la solución para que los nuevos cambios efectuados en el objeto DataSet surtan su efecto. Eso sí: asegúrate que el control DataGridView está correctamente enlazado al objeto DataSet mediante su propiedad DataSource, y que en la propiedad DataMember figure el nombre del objeto DataTable que contiene la columna PrecioZR6.


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    lunes, 18 de enero de 2016 12:36
    Moderador