I am using the Grid in RadControls 'Prometheus' for ASPNET Q3 2007. I am using hierarchical grid structure. My issue is that paging is not working for the grid. I gave allowpaging as true and gave page size also. But when I click to see the next page grid is disappearing and a blank page is coming.What will be the problem?
Jincy
9 Answers, 1 is accepted
Please check these examples for more info on how to bind the grid hierarchy:
http://www.telerik.com/DEMOS/ASPNET/Prometheus/Grid/Examples/Hierarchy/DeclarativeRelations/DefaultCS.aspx
http://www.telerik.com/DEMOS/ASPNET/Prometheus/Grid/Examples/Programming/DetailTableDataBind/DefaultCS.aspx
http://www.telerik.com/DEMOS/ASPNET/Prometheus/Grid/Examples/Hierarchy/ThreeLevel/DefaultCS.aspx
Regards,
Vlad
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
I am using
http://www.telerik.com/DEMOS/ASPNET/Prometheus/Grid/Examples/Programming/DetailTableDataBind/DefaultCS.aspx this method for databinding. But paging not working.
Can you post an example?
Regards,
Vlad
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
I am sending a sample of what I had done.
<%@ Page Language="VB" MasterPageFile="~/MasterPages/BaseMasterPage.master" AutoEventWireup="false" MaintainScrollPositionOnPostback="true" EnableEventValidation="false" ViewStateEncryptionMode="Never" EnableViewStateMac="false" CodeFile="ProjectView.aspx.vb" Inherits="Test_Diaries_ProjectView" title="Untitled Page" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.QuickStart" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<input type="hidden" name="HostNameHidden" id="HostNameHidden" runat="server" value="0" />
<table class="MainTable" width="100%" cellspacing="0" cellpadding="0" border="0" >
<tr>
<td valign="top">
<table class="SubTable" cellspacing="0" cellpadding="0" border="0" width="100%" >
<tr>
<td valign="top" style="height: 149px">
<table style="vertical-align:top" width="100%" cellspacing="0" cellpadding="0" border="0" >
<tr>
<td class="Text14Bold" style="width:50%;" >
iRGL Global Diary<br/><br />
</td>
<td style="width:3%;">
</td>
<td style="width:48%;" align="right" class="Text10">
Change search criteria >>
</td>
<td style="width:2%;">
</td>
<td align="right">
<asp:Button ID="ResetCriteria" runat="server" Text="Change"/>
</td>
</tr>
</table>
<table width="100%">
<tr>
<td>
<asp:ScriptManager id="ScriptManager1" runat="server">
</asp:ScriptManager>
<!-- content start -->
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid ID="RadGrid1" AllowPaging="true" PageSize="5" runat="server" Skin="Vista" CssClass="Text10" Width="100%" AutoGenerateColumns="False"
GridLines="None" ShowStatusBar="true" AllowMultiRowSelection="true">
<PagerStyle Mode="NumericPages"></PagerStyle>
<MasterTableView DataKeyNames="ProjectNo" Name="Parent" HierarchyLoadMode="ServerBind"
Width="100%" >
<Columns>
<telerik:GridBoundColumn HeaderText="Date" HeaderStyle-Width="12%" ItemStyle-Width="12%"
DataField="StartDate" Resizable="True" Reorderable="True">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Duration" HeaderStyle-Width="12%" ItemStyle-Width="12%"
DataField="Duration" Resizable="True" Reorderable="True">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Host" HeaderStyle-Width="12%" ItemStyle-Width="12%" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:HyperLink runat="server" ID="Host"></asp:HyperLink>
<asp:Label ID="lblHostLogo" runat="server" ></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Title" HeaderStyle-Width="45%" ItemStyle-Width="45%" >
<ItemTemplate>
<asp:HyperLink runat="server" ID="Title"></asp:HyperLink>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Country" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Image runat="server" ID="Country" Height="12px" Width="18px" AlternateText='<%#Eval("VenueCountryName")%>' ImageUrl='<%#"~/Content\Images\Flags\ByCountry\" & Eval("VenueIsoCode2") &".gif" %>' />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Type" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Image runat="server" ID="Type" Height="12px" Width="18px" AlternateText='<%#Eval("ProjectTypeName")%>' ImageUrl='<%#"~/Content" & Eval("ProjectTypeImageUrl") %>'/>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Languages" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Image runat="server" ID="Languages" Height="12px" Width="18px" AlternateText='<%#Eval("LanguageName")%>' ImageUrl='<%#"~/Content\images\Flags\" & Eval("LanguageImageUrl") %>' />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblStatus" runat="server" CssClass="Text11green"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<DetailTables>
<telerik:GridTableView AllowSorting="false" PageSize="5" runat="server" DataKeyNames="EventNo" Width="100%">
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="ProjectNo" MasterKeyField="ProjectNo" />
</ParentTableRelation>
<Columns>
<telerik:GridBoundColumn HeaderText="Date" DataField="StartDate" HeaderStyle-Width="12%" ItemStyle-Width="12%" >
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Time" DataField="Duration" HeaderStyle-Width="15%" ItemStyle-Width="15%">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Title" DataField="EventTitle" HeaderStyle-Width="35%" ItemStyle-Width="35%">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Venue" DataField="EventVenueName" HeaderStyle-Width="15%" ItemStyle-Width="15%" >
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="City" DataField="EventVenueCityName" HeaderStyle-Width="15%" ItemStyle-Width="15%">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Country" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Image runat="server" ID="Country" Height="12px" Width="18px" AlternateText='<%#Eval("EventVenueCountryName")%>' ImageUrl='<%#"~/Content\Images\Flags\ByCountry\" & Eval("VenueIsoCode2") &".gif" %>' />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Type" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Image runat="server" ID="Type" Height="12px" Width="18px" AlternateText='<%#Eval("EventTypeName")%>' ImageUrl='<%#"~/Content" & Eval("EventTypeImageUrl") %>'/>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Languages" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Image runat="server" ID="Languages" Height="12px" Width="18px" AlternateText='<%#Eval("LanguageName")%>' ImageUrl='<%#"~/Content\images\Flags\" & Eval("LanguageImageUrl") %>' />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Label ID="lblStatus" runat="server" CssClass="Text11green"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
</MasterTableView>
<ClientSettings>
<Selecting AllowRowSelect="true" />
</ClientSettings>
</telerik:RadGrid>
</td>
</tr>
</table>
<table>
<tr><td> </td></tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</asp:Content>
--------------------------------------------------------------------------
Imports GlobalLeague.Utilities
Imports System.Data
Imports System.Data.SqlClient
Imports Telerik.WebControls
Imports Telerik.QuickStart
Imports Telerik.Web.UI
Partial Class Test_Diaries_ProjectView
Inherits System.Web.UI.Page
Public ds As New DataSet
Public Property MyDataSet() As System.Data.DataSet
Get
Return ViewState("MyDataSet")
End Get
Set(ByVal value As System.Data.DataSet)
ViewState("MyDataSet") = value
End Set
End Property
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
Dim MyTheme As String
'Response.Write(GlobalLeague.Login.LoginDetails.Host)
If GlobalLeague.Login.LoginDetails.Host > " " Then
MyTheme = GlobalLeague.Login.LoginDetails.Host & "theme" 'Should produce theme string like "DIRKtheme" which finds theme file in App_Themes
Else
MyTheme = ""
End If
Page.Theme = MyTheme
End Sub
Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.PreRender
HideExpandColumnRecursive(RadGrid1.MasterTableView)
End Sub
Public Sub HideExpandColumnRecursive(ByVal tableView As GridTableView)
Dim nestedViewItems As GridItem() = tableView.GetItems(GridItemType.NestedView) 'used for hiding the expand/collapse image if no items are there in child grid
For Each nestedViewItem As GridNestedViewItem In nestedViewItems
For Each nestedView As GridTableView In nestedViewItem.NestedTableViews
If nestedView.Items.Count = 0 Then
Dim cell As TableCell = nestedView.ParentItem("ExpandColumn")
cell.Controls(0).Visible = False
nestedViewItem.Visible = False
End If
If nestedView.HasDetailTables Then
HideExpandColumnRecursive(nestedView)
End If
Next
Next
End Sub
Protected Sub ResetCriteria_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ResetCriteria.Click
Context.Items.Add("NeedReload", "Yes")
Session("Flag") = "Yes"
Context.Items.Add("MyDataSet", MyDataSet)
If HostNameHidden.Value > "" And HostNameHidden.Value <> "0" Then
GlobalLeague.Login.LoginDetails.Host = HostNameHidden.Value
End If
Server.Transfer("~/Test/Diaries/HostPages/DiaryCriteria" + GlobalLeague.Login.LoginDetails.Host + ".aspx")
End Sub
Protected Sub RadGrid1_DetailTableDataBind(ByVal source As Object, ByVal e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) Handles RadGrid1.DetailTableDataBind
Dim dataItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem)
Dim ProjectNo As String = dataItem.GetDataKeyValue("ProjectNo").ToString
ds = Session("ds")
ds.Tables(1).DefaultView.RowFilter = "ProjectNo=" & ProjectNo
e.DetailTableView.DataSource = ds.Tables(1).DefaultView ' binding child grid
End Sub
Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource
If Not IsPostBack Then
HostNameHidden.Value = GlobalLeague.Login.LoginDetails.Host
Dim MyDataview As New System.Data.DataView, MyDataRow As System.Data.DataRowView, MyIPcommand As New SqlClient.SqlCommand
MyDataSet = CType(Me.Context.Items("MyDataSet"), System.Data.DataSet)
MyIPcommand.CommandText = "IPweb3005101getDiariesProjectView"
MyIPcommand.CommandType = CommandType.StoredProcedure
MyIPcommand.Connection = GlobalLeague.Utilities.Functions.GetConnection(True)
MyIPcommand.Parameters.AddWithValue("@Key", GlobalLeague.Login.LoginDetails.LoginSessionID)
MyDataview = MyDataSet.Tables("SearchCrit").DefaultView
MyDataview.RowFilter = "Pick=1"
For Each MyDataRow In MyDataview
If MyDataRow("ControlName") Like "ddl*" Or MyDataRow("ControlName") Like "rbl*" Or MyDataRow("ControlName") = " " Then
MyIPcommand.Parameters.AddWithValue("@" & MyDataRow("ParamText"), MyDataRow("ItemValue"))
ElseIf MyDataRow("ControlName") = "HostNameLike" Then
MyIPcommand.Parameters.AddWithValue("@" & MyDataRow("ParamText"), MyDataRow("ItemText"))
Else
MyIPcommand.Parameters.AddWithValue("@" & MyDataRow("ParamText"), Convert.ToDateTime(MyDataRow("ItemText")))
End If
Next
Dim adapter As SqlDataAdapter = New SqlDataAdapter(MyIPcommand)
adapter.Fill(ds)
Session("ds") = ds
Me.RadGrid1.DataSource = ds 'binding parent grid
End If
End Sub
Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemDataBound
Dim hlHost As HyperLink
Dim hlTitle As HyperLink
Dim lblHostLogo As Label
Dim lblStatus As Label
Dim imgType As Image
hlHost = e.Item.FindControl("Host")
hlTitle = e.Item.FindControl("Title")
lblHostLogo = e.Item.FindControl("lblHostLogo")
lblStatus = e.Item.FindControl("lblStatus")
imgType = e.Item.FindControl("Type")
If e.Item.ItemType = GridItemType.Item Or e.Item.ItemType = GridItemType.AlternatingItem Then
If e.Item.OwnerTableView.Name = "Parent" Then
If System.IO.File.Exists(MapPath("~\Content\Images\MemberLogos\" + DataBinder.Eval(e.Item.DataItem, "ProjectHostNo").ToString + ".gif")) Then
lblHostLogo.Text = "<img src='" + URLParser.GetAbsoluteUrlReference() + "content\Images\MemberLogos\" + DataBinder.Eval(e.Item.DataItem, "ProjectHostNo").ToString + ".gif' alt='" + DataBinder.Eval(e.Item.DataItem, "ProjectHostName").ToString + "'></img>"
lblHostLogo.Attributes.Add("OnClick", "window.open('" + URLParser.GetAbsoluteUrlReference() + "Calendar/Diaries/components/" + "CompanyDetails.aspx?CompanyNo=" + DataBinder.Eval(e.Item.DataItem, "ProjectHostNo").ToString + "','CompanyDetails" + DataBinder.Eval(e.Item.DataItem, "ProjectHostNo").ToString + "','screenX=200, screenY=200, width=800, height=800, scrollbars, sizeable');")
lblHostLogo.Style.Add("Cursor", "Hand")
hlHost.Visible = False
Else
If DataBinder.Eval(e.Item.DataItem, "ProjectHostName").ToString.Length > 12 Then
hlHost.Text = DataBinder.Eval(e.Item.DataItem, "ProjectHostName").ToString.Substring(0, 12)
Else
hlHost.Text = DataBinder.Eval(e.Item.DataItem, "ProjectHostName").ToString
End If
hlHost.ToolTip = DataBinder.Eval(e.Item.DataItem, "ProjectHostName").ToString
hlHost.Attributes.Add("OnClick", "window.open('" + URLParser.GetAbsoluteUrlReference() + "Calendar/Diaries/components/" + "CompanyDetails.aspx?CompanyNo=" + DataBinder.Eval(e.Item.DataItem, "ProjectHostNo").ToString + "','CompanyDetails" + DataBinder.Eval(e.Item.DataItem, "ProjectHostNo").ToString + "','screenX=200, screenY=200, width=800, height=800, scrollbars, sizeable');")
hlHost.Style.Add("Cursor", "Hand")
lblHostLogo.Visible = False
hlHost.Visible = True
hlHost.Font.Bold = False
End If
If DataBinder.Eval(e.Item.DataItem, "ProjectTitle").ToString.Length > 70 Then
hlTitle.Text = DataBinder.Eval(e.Item.DataItem, "ProjectTitle").ToString.Substring(0, 70)
Else
hlTitle.Text = DataBinder.Eval(e.Item.DataItem, "ProjectTitle").ToString
End If
hlTitle.ToolTip = DataBinder.Eval(e.Item.DataItem, "ProjectTitle").ToString
hlTitle.Attributes.Add("OnClick", "window.open('" + GlobalLeague.Utilities.URLParser.GetAbsoluteUrlReference() + "Calendar/Diaries/components/" + "ProjectDetails.aspx?ProjectNo=" + DataBinder.Eval(e.Item.DataItem, "ProjectNo").ToString + "','Eventdetails" + DataBinder.Eval(e.Item.DataItem, "ProjectNo").ToString + "','screenX=200, screenY=200, width=800, height=700, scrollbars, sizeable');")
hlTitle.Style.Add("Cursor", "Hand")
hlTitle.Visible = True
hlTitle.Font.Bold = False
If GlobalLeague.Login.LoginDetails.LoginSessionID <> Nothing Then
lblStatus.Text = "<img alt='" + DataBinder.Eval(e.Item.DataItem, "AccessCodeName") + "' src='" + URLParser.GetAbsoluteUrlReference() + "content" + DataBinder.Eval(e.Item.DataItem, "AccessCodeImageUrl") + "'></img>"
End If
imgType.ImageUrl = URLParser.GetAbsoluteUrlReference() + "content" + Trim(DataBinder.Eval(e.Item.DataItem, "ProjectTypeImageUrl").ToString)
Else
If GlobalLeague.Login.LoginDetails.LoginSessionID <> Nothing Then
lblStatus.Text = "<img alt='" + DataBinder.Eval(e.Item.DataItem, "AccessCodeName") + "' src='" + URLParser.GetAbsoluteUrlReference() + "content" + DataBinder.Eval(e.Item.DataItem, "AccessCodeImageUrl") + "'></img>"
End If
End If
End If
End Sub
Protected Sub RadGrid1_PageIndexChanged(ByVal source As Object, ByVal e As Telerik.Web.UI.GridPageChangedEventArgs) Handles RadGrid1.PageIndexChanged
End Sub
End Class
Jincy
I think you didn't noticed.It is there in the code itself which I had send.
Protected
Sub RadGrid1_DetailTableDataBind(ByVal source As Object, ByVal e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) Handles RadGrid1.DetailTableDataBind
Dim dataItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem)
Dim ProjectNo As String = dataItem.GetDataKeyValue("ProjectNo").ToString
ds = Session(
"ds")
ds.Tables(1).DefaultView.RowFilter =
"ProjectNo=" & ProjectNo
e.DetailTableView.DataSource = ds.Tables(1).DefaultView
' binding child grid
End Sub
Regards,
Jincy
Yep. Sorry for this.
Can you please try to remove RowFilter to see what will be the result?
Sincerely yours,
Vlad
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
Sorry to say no change.Paging is not working still.
Regards,
Jincy
Please open a formal support ticket and send us small example. I will review your scenario and I will get back to you with more info.
All the best,
Vlad
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
Thanks for the support. My issue is solved. The problem is that: I gave the code inside the need datasource in if not is postback. Now the issue is solved. Thanks once again for your support.
Jincy
