This is a migrated thread and some comments may be shown as answers.

How do I to export to Excel when I have pages with DataPager in my radgrid?

5 Answers 160 Views
GridView
This is a migrated thread and some comments may be shown as answers.
kronnos_indigo
Top achievements
Rank 2
kronnos_indigo asked on 17 Feb 2010, 01:50 PM
Good morning.

In RadGrid ASP.NET, I do easy this stept for export to Excel all data of it.

I have one radgrid in my silverlight page with DataPager (50 rows for page).
How do I to export all data of grid to Excel if for example it has 140 rows in 3 pages (each one of 50 rows)?
Actually, I export to Excel only the data in active page of grid.

Next attach the Vb.Net code:
#Region "Métodos Grilla Items" 
  Private Sub PaginadorGrillaItems(ByVal coleccionDatos As Object) 
    Dim m, d As String, p As Integer 
    m = "PaginadorGrillaItems)-" : d = "Entra" : p = 0 
    Try 
      'MessageBox.Show(o & vbCrLf & m & p & d, "", MessageBoxButton.OK) 
      Dim qcview As New QueryableCollectionView(coleccionDatos) 
      qcview.PageSize = 200 
      dpgvFacturaItems.Source = qcview 
      gvFacturaItems.ItemsSource = qcview 
    Catch ex As Exception 
      MessageBox.Show("Revisar: " & o & vbCrLf & m & p & vbCrLf & ex.Message) 
    End Try 
    d = ") Sale " 
    ' p = 999 : MessageBox.Show(o & vbCrLf & m & p & d) 
  End Sub 
 
  Private Sub CargarDatosGrillaItems() 
    Dim m, d As String, p As Integer 
    m = "CargarDatosGrillaItems)-" : d = "Entra" : p = 0 
    Try 
      'MessageBox.Show(o & vbCrLf & m & p & d, "", MessageBoxButton.OK) 
      gvFacturaItems.ItemsSource = "" 
      lbCargandogvFacturaItems.Visibility = Windows.Visibility.Visible 
      p = 50 : wsQryFacInvCli.CargarDatosDetalleFacturaAsync(punto, codTercero, numpro) 
    Catch ex As Exception 
      MessageBox.Show("Revisar: " & o & vbCrLf & m & p & vbCrLf & ex.Message) 
    End Try 
    d = ") Sale " 
    ' p = 999 : MessageBox.Show(o & vbCrLf & m & p & d) 
  End Sub 
 
  Private Sub AsignarOrigenDatosGrillaItems(ByVal sender As Object, ByVal e As wsSvlFactInvCliRef.CargarDatosDetalleFacturaCompletedEventArgs) 
    Dim m, d As String, p As Integer 
    m = "AsignarOrigenDatosGrillaItems)-" : d = "Entra" : p = 0 
 
    Try 
      'MessageBox.Show(o & vbCrLf & m & p & d, "", MessageBoxButton.OK) 
      p = 10 
      If Not IsNothing(e.Result) Then 
        If e.Result.Length > 0 Then 
          p = 100 : PaginadorGrillaItems(e.Result) 
          p = 120 : gvFacturaItems.SelectedItems.Add(gvFacturaItems.Items(0)) 
        End If 
        lbCargandogvFacturaItems.Visibility = Windows.Visibility.Collapsed 
      Else 
        gvFacturaItems.ItemsSource = "" 
        lbCargandogvFacturaItems.Visibility = Windows.Visibility.Collapsed 
      End If 
    Catch ex As Exception 
      MessageBox.Show("Revisar: " & o & vbCrLf & m & p & vbCrLf & ex.Message) 
    End Try 
    d = ") Sale " 
    ' p = 999 : MessageBox.Show(o & vbCrLf & m & p & d) 
  End Sub 
 
  Private Sub gvFacturaItems_Exporting(ByVal sender As Object, ByVal e As Telerik.Windows.Controls.GridViewExportEventArgs) Handles gvFacturaItems.Exporting 
    Dim m, d As String, p As Integer 
    m = "gvFacturaItems_Exporting)-" : d = "Entra" : p = 0 
 
    Try 
      'MessageBox.Show(o & vbCrLf & m & p & d, "", MessageBoxButton.OK) 
 
      If (e.Element = ExportElement.HeaderRow) Then 
        e.Height = 30 
        e.FontSize = 10 
        e.FontFamily = New FontFamily("Verdana") 
      ElseIf (e.Element = ExportElement.Row) Then 
        e.Height = 25 
        e.FontSize = 9 
        e.FontFamily = New FontFamily("Verdana") 
      End If 
    Catch ex As Exception 
      MessageBox.Show("Revisar: " & o & vbCrLf & m & p & vbCrLf & ex.Message) 
    End Try 
    d = ") Sale " 
    'p = 999 : MessageBox.Show(o & vbCrLf & m & p & d) 
  End Sub 
 
  Private Sub btExportarExcelClick(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles ibExportarExcel.KeyUp 
    Dim m, d As String, p As Integer 
    m = "btExportarExcelClick)-" : d = "Entra" : p = 0 
    Dim extension, contenido As String 
    Try 
      'MessageBox.Show(o & vbCrLf & m & p & d, "", MessageBoxButton.OK) 
      extension = "xls" 
      contenido = "" 
      If numEjecucion = 1 Then 
        p = 20 : Dim guardarArchivo As New SaveFileDialog() 
        p = 30 : guardarArchivo.Filter = "Excel files (*." & extension & ")|*." & extension & "|All files (*.*)|*.*" 
        p = 40 : guardarArchivo.DefaultExt = extension 
        p = 50 : guardarArchivo.FilterIndex = 1 
 
        If (guardarArchivo.ShowDialog() = True) Then 
          Using arcEx As Stream = guardarArchivo.OpenFile() 
            p = 60 : contenido = gvFacturaItems.ToHtml 
 
            p = 70 : Dim bytes() As Byte = Encoding.UTF8.GetBytes(contenido) 
            p = 80 : arcEx.Write(bytes, 0, bytes.Length) 
 
            arcEx.Close() 
          End Using 
        End If 
        numEjecucion = 2 
      Else 
        numEjecucion = 1 
      End If 
    Catch ex As Exception 
      MessageBox.Show("Revisar: " & o & vbCrLf & m & p & vbCrLf & ex.Message) 
    End Try 
    d = ") Sale " 
    ' p = 999 : MessageBox.Show(o & vbCrLf & m & p & d) 
  End Sub 
 
#End Region 

and XAML code:
<telerikGridView:RadGridView Grid.Row="1" x:Name="gvFacturaItems" Margin="5,5,0,0" AutoGenerateColumns="False" SelectionMode="Single"  
                            Height="660" Width="1200"  ShowColumnFooters="True" CanUserFreezeColumns="False" ScrollMode="Deferred" HorizontalAlignment="Left" 
                            DataLoadMode="Asynchronous"  EnableRowVirtualization="True" EnableColumnVirtualization="True" Exporting="gvFacturaItems_Exporting"  
                            ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Visible" > 
                        <telerikGridView:RadGridView.Columns> 
                                <telerikGridView:GridViewDataColumn x:Name="colnumpro" Header="# fact" DataMemberBinding="{Binding numpro}" IsFilterable="False"  
                                        Width="60" TextAlignment="Right"/>                       
                                <telerikGridView:GridViewDataColumn x:Name="colV" Header="V" DataMemberBinding="{Binding v}" IsFilterable="False" Width="20" TextAlignment="Center"/>                        
                            <telerikGridView:GridViewDataColumn x:Name="colLocalizacion" Header="Localización" DataMemberBinding="{Binding Localizacion}" IsFilterable="False"/>                         
                                <telerikGridView:GridViewDataColumn x:Name="colDireccionItem" Header="Localización" DataMemberBinding="{Binding direccionItem}" IsFilterable="False"/>                       
                            <telerikGridView:GridViewDataColumn x:Name="coldescripcion" Header="Descripción" DataMemberBinding="{Binding descripcion}" IsFilterable="False"/>    
                                <telerikGridView:GridViewDataColumn x:Name="colCiudad" Header="Ciudad" DataMemberBinding="{Binding ciudad}" IsVisible="False"/>                      
                                <telerikGridView:GridViewDataColumn x:Name="colnombreCiudad" Header="Ciudad" DataMemberBinding="{Binding nombreCiudad}" Width="70"/>                         
                            <telerikGridView:GridViewDataColumn x:Name="colidBien" Header="idBien" DataMemberBinding="{Binding idBien}" IsVisible="False"/>                          
                            <telerikGridView:GridViewDataColumn x:Name="colcodBienIdAnt" Header="Cód Bien." DataMemberBinding="{Binding codBienIdAnt}"/>                         
                            <telerikGridView:GridViewDataColumn x:Name="colHCV_EntCli" Header="OI" DataMemberBinding="{Binding HCV_EntCli}"/>                            
                            <telerikGridView:GridViewDataColumn x:Name="colFecha" Header="F.Inicia" DataMemberBinding="{Binding fchIni}" DataFormatString="{}{0:ddMMMyyyy}" 
                                Width="70" IsFilterable="False"/>                            
                            <telerikGridView:GridViewDataColumn x:Name="colFechaVence" Header="F.Vence." DataMemberBinding="{Binding fchVence}" DataFormatString="{}{0:ddMMMyyyy}" 
                                Width="70" IsFilterable="False"/>                                                    
                        <telerikGridView:GridViewDataColumn x:Name="colDiasEntreCuotas" Header="Días" DataMemberBinding="{Binding diasEntreCuotas}"  IsFilterable="False"/>                          
                        <telerikGridView:GridViewDataColumn x:Name="colValorCr" Header="$Valor" DataMemberBinding="{Binding ValorCR}"  DataFormatString="{}{0:C}"  IsFilterable="False"/>                            
                        <telerikGridView:GridViewDataColumn x:Name="colCentroGestionCli" Header="Centro Gestión" DataMemberBinding="{Binding CentroGestionCliente}" IsVisible="True"/>                           
                        <telerikGridView:GridViewDataColumn x:Name="colNotas" Header="Justificación" DataMemberBinding="{Binding Notas}" IsVisible="True"/>                          
                        </telerikGridView:RadGridView.Columns> 
                </telerikGridView:RadGridView>    
                <dataInput:Label x:Name="lbCargandogvFacturaItems" Grid.Row="1" Content="Cargando Datos, por favor espere." Margin="15,50,0,0"  
                        FontFamily="Verdana" FontSize="15" Foreground="Black" Visibility="Collapsed" /> 
                <data:DataPager x:Name="dpgvFacturaItems" Grid.Row="2" Source="{Binding ItemsSource, ElementName=gvFacturaItems}" IsTotalItemCountFixed="True" Margin="5,5,10,10"  
                        DisplayMode="FirstLastPreviousNextNumeric" FontFamily="Verdana" FontSize="9" Foreground="Black" Width="1200"  
                        HorizontalAlignment="Left" VerticalAlignment="Top"/> 

Thanks by any help for that.


Juan Pablo Díaz
Bogotá Colombia

5 Answers, 1 is accepted

Sort by
0
Vlad
Telerik team
answered on 17 Feb 2010, 01:55 PM
Hello kronnos_indigo,

If you remove the PageSize declaration of the pager on export you will get all data in the exported document.

Best wishes,
Vlad
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
kronnos_indigo
Top achievements
Rank 2
answered on 17 Feb 2010, 02:15 PM
Good Morning Vlad

Thanks by your answer, but How I do it to remove the PageSize declaration of the pager after the grid are loaded?
In attach Vb.Net code, I have a btExportarExcelClick method for do that,
do I must again call the load of data Private Sub CargarDatosGrillaItems() method?

Thank by your help


Juan Pablo Díaz.
0
kronnos_indigo
Top achievements
Rank 2
answered on 17 Feb 2010, 02:22 PM
Thank Dval.....


I do the correct export to Excel...
I try your idea and it work,,,


Thanks..


Good bye

Juan Pablo Díaz.
Bogotá - Colombia
0
lina fetisova
Top achievements
Rank 1
answered on 11 Aug 2010, 06:00 AM
If you remove the PageSize declaration of the pager on export you will get all data in the exported document.

Vlad please can you tell me in more details how to do it?
0
lina fetisova
Top achievements
Rank 1
answered on 11 Aug 2010, 11:40 AM
smth like this:

dataPager.PageSize = 1000000;
ExportHelper.ExportToXls(ClisentsListGrid);
dataPager.PageSize = 50;


?:)
Tags
GridView
Asked by
kronnos_indigo
Top achievements
Rank 2
Answers by
Vlad
Telerik team
kronnos_indigo
Top achievements
Rank 2
lina fetisova
Top achievements
Rank 1
Share this question
or