none
Cargar un SQLDataReader en un DataGrid RRS feed

  • Pregunta

  • Hola gente del foro, estoy realizando una aplicación Web con WPF la cual tiene un datagrid, pues bien, estoy obteniendo un SQLDataReader cargado con datos, los cuales nececito mostrar en un DataGrid. Intente pasar el SQLDataReader a un DataTable por medio del métofo Load, algo asi:

    Tabla.Load(Reader);

    Grid.ItemSource=Tabla.DefaultView();

    Pero nada, me muestra una franja blanca como si fuese una fila pero no me muestra los datos, que en este caso es siempre una fila sola con un solo registro lo que debería mostrar.

    alguien puede darme un ejemplito de como hacer esto?

    gracias de antemano

    martes, 1 de febrero de 2011 17:50

Todas las respuestas

  • Prueba agregando en las propiedades del grid la deficinion de tus campos, este codigo lo he usado en silverlight pero debe de ser algo similar
    <telerik:RadBusyIndicator Grid.Row="1" Name="Indicador">
            <telerikGridView:RadGridView ItemsSource="{Binding}"
                         CanUserDeleteRows="False" AutoGenerateColumns="False" ShowGroupPanel="False" CanUserFreezeColumns="False" 
                         CanUserInsertRows="False" CanUserReorderColumns="False" CanUserResizeColumns="True" 
                         CanUserSelect="True" CanUserSortColumns="False" IsFilteringAllowed="True" Name="gridVisitasDiarias" RowActivated="gridVisitasDiarias_RowActivated">
            <telerikGridView:RadGridView.Columns>
              <telerikGridView:GridViewDataColumn Header="Nombre del Visitante" Width="200" DataMemberBinding="{Binding Nom}" IsReadOnly="True" />
              <telerikGridView:GridViewDataColumn Header="Empresa" Width="100" DataMemberBinding="{Binding Emp}" IsReadOnly="True" />
              <telerikGridView:GridViewDataColumn Header="Colaborador a Visitar" Width="200" DataMemberBinding="{Binding Col}" IsReadOnly="True" />
              <telerikGridView:GridViewDataColumn Header="Fecha" Width="100" DataMemberBinding="{Binding Fec}" IsReadOnly="True" />
              <telerikGridView:GridViewDataColumn Header="Hora Visita" Width="100" DataMemberBinding="{Binding Hor}" IsReadOnly="True" />
              <telerikGridView:GridViewDataColumn Header="Estatus" Width="100" IsReadOnly="True">
                <telerikGridView:GridViewDataColumn.CellTemplate>
                  <DataTemplate>
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
                      <Ellipse Width="20" Height="20" Fill="{Binding Esta}" />
                    </StackPanel>
                  </DataTemplate>
                </telerikGridView:GridViewDataColumn.CellTemplate>
              </telerikGridView:GridViewDataColumn>
            </telerikGridView:RadGridView.Columns>
          </telerikGridView:RadGridView>
          </telerik:RadBusyIndicator>
    

    y claro que por codigo le pasas el objeto que contiene en el DataMemberBinding tus datos es decir si la tabla tiene un campo nombre, tendrias que vingularcelo a la columna en su DataMemberBinding="{Binding nombre}" .

    Espero te sirva ;)

    Saludos

    jueves, 3 de febrero de 2011 15:01