none
Implementar un codigo From a WPF mostrar datos RRS feed

  • Pregunta

  • hola amigos estoy intentando correr este codigo windows from en un datagrid de WPF:

      Private Sub CargarListaEmpleados()
            DataGridView1.AutoGenerateColumns = False
            DataGridView1.DataSource = EmpleadosDAL.ObtenerTodos()
            For Each row As DataGridViewRow In DataGridView1.Rows
                'se asigna el alto de la fila para poder ver la imagen correctamente
                row.Height = 120
                'se recupera la entidad que es asignada como dato
                Dim empleado As EmpleadosEntity = TryCast(row.DataBoundItem, EmpleadosEntity)
                If empleado.Foto Is Nothing Then
                    row.Cells("Foto").Value = ImageHelper.ObtenerImagenNoDisponible()
                Else
                    row.Cells("Foto").Value = ImageHelper.ByteArrayToImage(empleado.Foto)
                End If
            Next
        End Sub

    el error aparece en que el datagrid de WPF no tiene la propiedad rows y por lo tanto aparece no corre...

    por favor alguien podria explicarme que propiedad se utilizaria.

    jueves, 9 de agosto de 2018 17:44

Respuestas

  • En WPF debes usar Binding:

    <DataGrid Name="dgXrer" HorizontalAlignment="Left" Height="360" Margin="10,10,0,0" VerticalAlignment="Top" Width="800" CanUserAddRows="False " AutoGenerateColumns="False" EnableRowVirtualization="True" ItemsSource="{Binding}" IsReadOnly="False" >

    NOTAS: 

    ItemsSource="{Binding}" es precisamente para que haga el binding

    IsReadOnly="False" es por si quieres que al modificar datos en el DataGrid estos también cambien en el origen de los datos.

    Después debes decir que columna se enlaza con cual campo, Ej:

    <DataGridTextColumn Header="Cliente" Width="55" Binding="{Binding Path=cliente}"/>

    donde  Path=cliente es precisamente el campo, en este ejemplo el campo cliente se enlaza con la columna Cliente

    Luego definir cual sera el origen de los datos para el DataGrid, ej:

    dgXrer.DataContext = DTpendientes.DefaultView

    Donde DTpendientes es el Datatable que sera el origen de datos para el DataGrid dgXrer.

    Al final si hiciste modificaciones a los datos y quieres guardar estos en tu base de datos entonces debes recorrer el DataTable y afectar a tu base de datos.

    Saludos

    Si te sirve marcarlo como Respuesta Correcta

    • Propuesto como respuesta Pablo Rubio lunes, 13 de agosto de 2018 18:31
    • Marcado como respuesta Pablo Rubio jueves, 16 de agosto de 2018 14:28
    lunes, 13 de agosto de 2018 17:19