none
Cargar consulta en DataGrid o Grid (no se cual me conviene mas) RRS feed

  • Pregunta

  • Hola buenos dias, os cuento lo que pretendo hacer:

    Tenemos un login normal y corriente, al acceder  con unas credenciales correctas te saldra una ventana en la que contendra un label con el nombre sacaddo ,mediante una consulta, todo eso sin problemas, pero ahora quiero en un Grid o DataGrid cargar otra consulta que accede a una tabla llamada 'puntosusuarios',

    esta tabla contiene  Emai,PuntosOro,PuntosPlata,PuntosBronce, y entonces quiero cargar los puntos de ese usuario logeado en una tabla ya sea datagrid o grid. Entonces estuve investigando por la web y siempre salia el tal dataGridView y yo solo he encontrado en el cuadro de herramientas Grid o DataGrid.

    Entonces ocurre lo siguiente:

                     conectar.Open();
                String sql = "SELECT PuntosOro, PuntosPlata, PuntosBronce FROM puntosusuarios WHERE EmailUsuario = '" + email + "'";

                     MySqlCommand consulta = new MySqlCommand(sql, conectar);
                     MySqlDataAdapter da = new MySqlDataAdapter(consulta);
                     DataTable dt = new DataTable();

                     dt = new DataTable();
                     dt.Columns.Add("ORO");
                     dt.Columns.Add("PLATA");
                     dt.Columns.Add("BRONCE");

                     da.Fill(dt);
                    miDataGrid.DataSource = dt;

    Pues bien, en teoria debe ser asi, pero el metodo anteriormente subrayado y en negrita no lo contiene los dichosos DataGrid o Grid, solo lo contiene el DataGridView. Y como solo puedo trabajar con los dos primeros citados pues no veo una solucion a mi problema.

    Muchas Gracias de antemano y un cordial saludo


    viernes, 6 de abril de 2018 13:56

Respuestas

  • Creo que tienes mezclados tus tipos de aplicación. El DataSource para hacer vínculo de datos se usa con los controles de Winforms (System.Windows.Forms) y también en WebForms (System.Web.UI), aunque en este caso requiere además una llamada a DataBind().

    Pero al hablar de Grid o DataGrid, se infiere que estás trabajando con controles de WPF (System.Windows.Controls). En estos controles no se usa el DataSource, sino que el vínculo de datos se hace asignándole los datos al DataContext y luego indicando los vínculos, típicamente mediante el atributo Binding en el XAML. Ejemplo aquí.

    Es una filosofía de trabajo sustancialmente distinta; si vas a trabajar con WPF tienes que "cambiar el chip" y comenzar a pensar en términos de DataContext, no diseñar el funcionamiento de la aplicación como si fuera WinForms.

    viernes, 6 de abril de 2018 14:11
    Moderador

Todas las respuestas

  • Creo que tienes mezclados tus tipos de aplicación. El DataSource para hacer vínculo de datos se usa con los controles de Winforms (System.Windows.Forms) y también en WebForms (System.Web.UI), aunque en este caso requiere además una llamada a DataBind().

    Pero al hablar de Grid o DataGrid, se infiere que estás trabajando con controles de WPF (System.Windows.Controls). En estos controles no se usa el DataSource, sino que el vínculo de datos se hace asignándole los datos al DataContext y luego indicando los vínculos, típicamente mediante el atributo Binding en el XAML. Ejemplo aquí.

    Es una filosofía de trabajo sustancialmente distinta; si vas a trabajar con WPF tienes que "cambiar el chip" y comenzar a pensar en términos de DataContext, no diseñar el funcionamiento de la aplicación como si fuera WinForms.

    viernes, 6 de abril de 2018 14:11
    Moderador
  • Estas en usando un proyecto de wpf c# por eso no encuentras el control DatagridView en el cuadro de herramientas... 

    Por lo tanto puedes usarlo pero tendrás que agregarlo por código.. ahora el wpf  el grid se puede usar datatable de esta forma miDataGrid.DataSource = dt.defaultview;

    viernes, 6 de abril de 2018 15:48