none
Error en datagrid RRS feed

  • Pregunta

  • Hola a todos me pasa lo siguiente, tengo un datagrid dentro de un dockpanel y este grid se llena desde una bd asi:



     <DockPanel Grid.Row="2" VerticalAlignment="Top">
                <toolkit:DataGrid AutoGenerateColumns="False" CanUserAddRows="False" CanUserResizeRows="False" HorizontalAlignment="Left" ItemsSource="{Binding}" Name="dataGrid" SelectionChanged="dataGrid_SelectionChanged" VerticalAlignment="Top" DockPanel.Dock="Left">
                    <toolkit:DataGrid.Columns>
                        <toolkit:DataGridTextColumn Binding="{Binding Id}" Header="Id" Visibility="Hidden" />
                        <toolkit:DataGridTextColumn Binding="{Binding Number}" Header="Number" IsReadOnly="True" Width="100" />
                        <toolkit:DataGridTextColumn Binding="{Binding Description}" Header="Description" IsReadOnly="True" Width="300" />
                        <toolkit:DataGridTextColumn Binding="{Binding InitialBalance}" Header="Initial Balance" IsReadOnly="True" Width="100"  />
                        <toolkit:DataGridTextColumn Binding="{Binding Currency}" Header="Currency" IsReadOnly="True" />
                        <toolkit:DataGridTextColumn Binding="{Binding InitialBlanceForeignCurrency}" Header="Initial Balance Foreign" IsReadOnly="True" Width="100"  />
                        <toolkit:DataGridTextColumn Binding="{Binding ConcilitaionOption}" Header="Overall Conciliation" IsReadOnly="True" />
                        <toolkit:DataGridTextColumn Binding="{Binding OverallConciliation}" Header="Exclude Conciliation" IsReadOnly="True" />
                    </toolkit:DataGrid.Columns>
                </toolkit:DataGrid>
            </DockPanel>



    pero los datos no se visualizan todos por que el scrollbar queda dentro del dockpanel y al mover el scroll no muestra todos los datos quedan unos ocultos.

    Ya intente ponerle el scrollbar al dockpanel pero siguio igual.

    Alguien me podria ayudar.


    muchas gracias.

    jin
    lunes, 23 de febrero de 2009 17:12

Todas las respuestas

  • Hola,

    La verdad no me visualizo como es la imagen de los dos controles, pero a ver si entendi.

    Resulta que tu grilla que esta contenida en tu dockpanel cuando se carga sobrepasa el limite del dockpanel (o sea el alto definido) por lo que el escroll de la grilla mantiene oculto parte de los datos, que quedan debajo.

    si esto es asi me imagino que tendrias dos opciones:

    - paginar la grilla para que en todo momento la cantidad de filas vistas coincida con el alto del dockpanel, de esta forma no tendrias el scroll

    - si necesitas el scroll, podrias implementar esas soluciones que permiten mantener el header de la grilla fijo, y solo hacer un scroll de contenido, esto esta muy bueno ya que a la grilla le defines cual es el alto que debe tener y que por supuesto coincidira con el de tu dockpanel, asi el escroll siempre es de datos de la grilla pero a un alto acotado.

    algo como esto:

    How to Fixed GridView's Header and Footer when scrolling?

    Implementing a Fixed GridView Header in ASP.NET

    A Scrollable GridView with a Fixed Header in C#

    Freezing GridView Column Headers using Only CSS


    Veras en todos los casos que la grilla esta contendida y delimitada ya sea por un panel o un div, que es el que marca hasta donde puede expandirse, no dejandola libremente como seguramente esta pasando en tu caso que sobrepasa al dockpanel.

    Espero te sea de utilidad
    Saludos

    Leandro Tuttini
    martes, 24 de febrero de 2009 3:53
  • Hola Gracias por tu respuesta,
    pero es que no es Asp.net, es wpf....
    que pena creo que postee donde no era?

    pero sin embargo mucchas gracias los articulos me sirvieron para otra aplicacion.


    gracias por tu ayuda.
    jin
    martes, 24 de febrero de 2009 13:43

  • Hola,

    por casualidad has utilizado esta Grilla:

    Xceed DataGrid for WPF

    Tiene una version Express que es de uso libre, y por ahi puede solucionar tu problema, yo la use una vez y la verdad me gusto mucho.

    Saludos

    Leandro Tuttini
    martes, 24 de febrero de 2009 13:57