Hi friends
I want to use a RadGrid with Grouping, as shown on this page:
https://demos.telerik.com/aspnet-ajax/grid/examples/functionality/grouping/grouping/defaultvb.aspx
But the data for this grid is inside a datatable.
Is there any way to build this grid without using SqlDataSource?
Thanks
See you
2 Answers, 1 is accepted
Hi Walter,
The Data Source you use to bind to RadGrid does not matter much in this scenario because the Grouping needs to be configured inside the Grid, not on the Data Source level. Just be sure to bind the Grid using the NeedDataSource event and never call the DataBind(). That tends to break it.
Create a Grid that you bind to a DataTable, and once data is bound, start defining the expressions, set the FieldName properties to reflect the Data Source (DataTable) columns:
<GroupByExpressions>
<telerik:GridGroupByExpression>
<SelectFields>
<telerik:GridGroupByField FieldName="MyField1"></telerik:GridGroupByField>
</SelectFields>
<GroupByFields>
<telerik:GridGroupByField FieldName="MyField1" SortOrder="Descending"></telerik:GridGroupByField>
</GroupByFields>
</telerik:GridGroupByExpression>
<telerik:GridGroupByExpression>
<SelectFields>
<telerik:GridGroupByField FieldName="MyField2"></telerik:GridGroupByField>
</SelectFields>
<GroupByFields>
<telerik:GridGroupByField FieldName="MyField2"></telerik:GridGroupByField>
</GroupByFields>
</telerik:GridGroupByExpression>
</GroupByExpressions>
Regards,
Attila Antal
Progress Telerik
Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

But I was able to load grid using datasource and databind
ASPX:
<telerik:RadGrid ID="gridCosteAdquisicion" runat="server" GridLines="Horizontal" AllowPaging="false"
ShowFooter="false" AllowSorting="false" Skin="MyCustomSkin" EnableEmbeddedSkins="false" AutoGenerateColumns="false"
RenderMode="Lightweight" >
<MasterTableView DataKeyNames="IdProducto" GroupLoadMode="Client" >
<GroupByExpressions>
<telerik:GridGroupByExpression>
<SelectFields>
<telerik:GridGroupByField FieldName="Naturaleza" HeaderText=" " HeaderValueSeparator=" "></telerik:GridGroupByField>
</SelectFields>
<GroupByFields>
<telerik:GridGroupByField FieldName="IdNaturaleza" HeaderText=" " HeaderValueSeparator=" "></telerik:GridGroupByField>
</GroupByFields>
</telerik:GridGroupByExpression>
<telerik:GridGroupByExpression>
<SelectFields>
<telerik:GridGroupByField FieldName="Categoria" HeaderText=" " HeaderValueSeparator=" "></telerik:GridGroupByField>
</SelectFields>
<GroupByFields>
<telerik:GridGroupByField FieldName="IdCategoria" HeaderText=" " HeaderValueSeparator=" "></telerik:GridGroupByField>
</GroupByFields>
</telerik:GridGroupByExpression>
</GroupByExpressions>
<Columns>
<telerik:GridTemplateColumn DataField="" HeaderText="Productos" Display="true"
UniqueName="NombreCortoProducto" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Left" HeaderStyle-Width="18%">
<ItemTemplate>
<asp:LinkButton ID="lbproducto" runat="server" CommandName="VerFicha" CommandArgument='<%# Eval("CodigoExternoProducto")%>'>
<%# Eval("NombreCortoProducto")%>
</asp:LinkButton>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="Participaciones" HeaderText="NĀŗ Part. / Nominal" Display="true"
UniqueName="Participaciones" ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Right" HeaderStyle-Width="12%">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="" HeaderText="Coste Medio" Display="true"
UniqueName="CosteAdquisicion" ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Right" HeaderStyle-Width="9%">
<ItemTemplate>
<%#FormatDecimal(Eval("CosteAdquisicion"), 2) & " " & Eval("DivisaAbreviatura")%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="ImporteAdquisicion" HeaderText="Importe EUR" Display="true"
UniqueName="ImporteAdquisicion" DataFormatString="{0:###,##0.#0}" ItemStyle-HorizontalAlign="Right"
HeaderStyle-HorizontalAlign="Right" HeaderStyle-Width="11%">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="" HeaderText="Precio Unitario" Display="true"
UniqueName="ValorLiquidativo" ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Right" HeaderStyle-Width="9%">
<ItemTemplate>
<%#FormatDecimal(Eval("ValorLiquidativo"), 2) & " " & Eval("DivisaAbreviatura")%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="ImporteProducto" HeaderText="Importe EUR" Display="true"
UniqueName="ImporteProducto" DataFormatString="{0:###,##0.#0}" ItemStyle-HorizontalAlign="Right"
HeaderStyle-HorizontalAlign="Right" HeaderStyle-Width="11%">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Variacion" HeaderText="EUR" Display="true"
UniqueName="Variacion" DataFormatString="{0:###,##0.#0}" ItemStyle-HorizontalAlign="Right"
HeaderStyle-HorizontalAlign="Right" HeaderStyle-Width="10%">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Porcentaje" HeaderText="%" Display="true"
UniqueName="Porcentaje" ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Right" HeaderStyle-Width="6%">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="" HeaderText="Plazo" Display="true"
UniqueName="PlazoFormato" ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Right" HeaderStyle-Width="6%">
<ItemTemplate>
<%#Eval("PlazoMedio") & " " & Eval("Formato")%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="" HeaderText="TAE" Display="true" UniqueName="TAE"
ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Right" HeaderStyle-Width="8%">
<ItemTemplate>
<%#Eval("TAE")%>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings ReorderColumnsOnClient="false" AllowDragToGroup="false" AllowColumnsReorder="false" AllowGroupExpandCollapse="true" AllowExpandCollapse="true">
<Selecting AllowRowSelect="true"></Selecting>
<Resizing AllowRowResize="false" AllowColumnResize="false" EnableRealTimeResize="true" ResizeGridOnColumnResize="false"></Resizing>
</ClientSettings>
<GroupingSettings ShowUnGroupButton="true" RetainGroupFootersVisibility="false" ></GroupingSettings>
</telerik:RadGrid>
VB:
Public Sub GetValoracion(ByVal persona As Persona, ByVal contrato As Contrato, ByVal fecha As Date)
Dim fifo As Boolean = False
Dim original As Boolean = False
Dim rentabilidadAnual As Boolean = True
Dim cantidad As Integer
Dim TAEFlujos As New List(Of TrsTir.Flujo)
Dim objSesion As New Session()
Try
objSesion = Session("objSession")
objSesion.tipoSeleccion = CarteraSeleccionTipoEnum.Contrato
panelExportar.Visible = True
rdpFechaCoste.SelectedDate = objSesion.fechaFin
If rdbFIFOCosteAquisicion.Checked Then
fifo = True
End If
If rdbSuscripciónOriginalCosteAquisicion.Checked Then
original = True
End If
'valoraciones = Datatable
Dim valoraciones = GetValoracionByProductoCosteAdquisicionTIR(persona, contrato, fecha, CarteraOperativaTipoEnum.Interna, fifo, original, rentabilidadAnual, Me.TAEInterna, TAEFlujos)
Session("TAEFlujos") = TAEFlujos
cantidad = valoraciones.Rows.Count
panelDatosTotal.Visible = False
gridCosteAdquisicion.Visible = False
If cantidad > 0 Then
gridCosteAdquisicion.Visible = True
gridCosteAdquisicion.DataSource = valoraciones
gridCosteAdquisicion.DataBind()
End If
Session("objSession") = objSesion
objSesion = Nothing
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub
WEB:
See you