I created a RadGrid with <telerik:GridTemplateColumn and <telerik:GridBoundColumn if i am using gridbound column itis working ,but using gridTemplatecolumn it isnot working that also not all the options some of the options only
This is the basic page set-up I have:
The RadTreeView is configured in code-behind to trigger the RadAjaxPanel.
Now, when the RadAjaxPanel loads the RadGrid, it doesn't call Sys.Application.on_init(RadGrid), so the RadGrid is no more a member of Sys.Application._components and $find(RadGrid) returns null when called from the RadAjaxManager's OnResponseEnd callback.
What do I need to do for having $find(RadGrid) find the RadGrid in the OnResponseEnd callback?
The RadGrid control assigns the "grid" role to a <div> surrounding the <table> containing the grid data (see screenshots attached).
I believe this is an unfortunate assignment as it seems to confuse JAWS because the <table> HTML element by definition comes with an intrinsic role of "grid". So Jaws recognizes two nested grids when focusing the table using the JAWS virtual cursor "T" key (see screenshots attached).
I suggest to assign the "grid" role to the RadGrid's master table and all other tables - or to omit all the "grid", "row" "gridcell" etc. roles, as the table model automatically comes with these roles.
Specifically for images in the copy buffer. Things like CKEditor have built-in support for handling pasted images, so I know the browsers can support it. Is this possible with any of the Telerik controls?
Thanks!
I created a RadGrid with <telerik:GridTemplateColumn and <telerik:GridBoundColumn if i am using gridbound column itis working ,but using gridTemplatecolumn it isnot working that also not all the options some of the options only |
<telerik:RadGrid ID="RadGrid1" runat="server" ShowStatusBar="false" AutoGenerateColumns="False"
Width="100%" PageSize="50" AllowSorting="True" AllowMultiRowSelection="true"
AllowPaging="True" AllowFilteringByColumn="true" OnDetailTableDataBind="RadGrid1_DetailTableDataBind"
OnPreRender="RadGrid1_PreRender" OnNeedDataSource="RadGrid1_NeedDataSource" GridLines="None"
OnItemCommand="RadGrid1_ItemCommand" OnDataBound="RadGrid1_DataBound" OnItemDataBound="RadGrid1_ItemDataBound"
OnExcelExportCellFormatting="RadGrid1_ExcelExportCellFormatting" OnInit="RadGrid1_Init"
Skin="Myskin" OnItemCreated="RadGrid1_ItemCreated" ItemStyle-BackColor="White"
AlternatingItemStyle-BackColor="White" EnableEmbeddedSkins="false" ViewStateMode="Enabled"
OnPageIndexChanged="RadGrid1_PageIndexChanged" Font-Size="11px" OnGridExporting="RadGrid1_GridExporting">
<%
-- <PagerStyle Mode="NextPrevNumericAndAdvanced" AlwaysVisible="true" PageSizeLabelText="Results per page"
ShowPagerText="true" HorizontalAlign="Left" PagerTextFormat=""></PagerStyle>--
%>
<PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true" PageSizeLabelText="Results per page"
Position="TopAndBottom" ShowPagerText="true" HorizontalAlign="Left"></PagerStyle>
<ExportSettings HideStructureColumns="true" />
<ClientSettings EnableRowHoverStyle="false">
<%
--<Scrolling AllowScroll="True" UseStaticHeaders="true" SaveScrollPosition="true">
</Scrolling>--
%>
<Selecting AllowRowSelect="false" />
<%
--<ClientEvents OnGridCreated="gridCreated" />--%>
</ClientSettings>
<SortingSettings EnableSkinSortStyles="false" />
<SelectedItemStyle CssClass="SelectedItem" />
<MasterTableView DataKeyNames="CredentialID,CredentialVersion" AllowMultiColumnSorting="false"
CommandItemDisplay="None" EnableNoRecordsTemplate="false" HierarchyDefaultExpanded="false"
TableLayout="Fixed" HierarchyLoadMode="ServerBind" ItemStyle-BackColor="LightGoldenrodYellow"
AlternatingItemStyle-BackColor="LightGoldenrodYellow" Name="MasterGrid" AllowFilteringByColumn="true">
<CommandItemSettings ShowExportToWordButton="false" ShowExportToExcelButton="false"
ShowExportToCsvButton="false" ShowAddNewRecordButton="false" ShowRefreshButton="false" />
<NoRecordsTemplate>
No Master Records Found
</NoRecordsTemplate>
<ExpandCollapseColumn HeaderStyle-Width="20px">
</ExpandCollapseColumn>
<DetailTables>
<telerik:GridTableView DataKeyNames="CredentialID,CredentialVersion" Name="Orders"
EnableNoRecordsTemplate="false" AllowPaging="false" AllowFilteringByColumn="false"
TableLayout="Fixed" AllowSorting="false" ShowHeader="false" ItemStyle-BackColor="#F0F8FF"
AlternatingItemStyle-BackColor="#F0F8FF" Width="1070px">
<NoRecordsTemplate>
<asp:Label Text="No Records Found in Credential Version (Other)" CssClass="panelStyle1"
runat="server" ID="lblChildNoRecord" ForeColor="Pink" Font-Bold="true"></asp:Label>
</NoRecordsTemplate>
<Columns>
<telerik:GridTemplateColumn UniqueName="Checkbox" Display="true" AllowFiltering="true">
<HeaderStyle Width="27px" />
<HeaderTemplate>
<asp:CheckBox ID="headerChildChkbox" runat="server" AutoPostBack="true" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkChildChild" runat="server" AutoPostBack="false" />
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn SortExpression="CredentialID" HeaderText="Credential id"
Visible="false" HeaderButtonType="TextButton" DataField="CredentialID" UniqueName="CredentialID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn SortExpression="ClientName" HeaderText="Client name" HeaderButtonType="TextButton"
DataField="ClientName" Visible="false" UniqueName="CName">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn SortExpression="ClientName" UniqueName="ClientNameChild"
HeaderText="Client name" Visible="true">
<ItemTemplate>
<asp:HyperLink ID="LinkChild" runat="server" Text='<%#Bind("CredentialID") %>' Visible="false"></asp:HyperLink>
<asp:LinkButton runat="server" ID="hypidchild" Text='<%#Bind("ClientName") %>' Font-Bold="true"
OnClick="hypidchild_Click" ForeColor="Black"></asp:LinkButton>
</ItemTemplate>
<HeaderStyle Width="204px" />
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn UniqueName="ProjectName" HeaderText="Project name" Visible="false"
HeaderButtonType="TextButton" DataField="ProjectName" AllowFiltering="true">
<HeaderStyle Width="10%" />
<ItemStyle Width="10%" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="CredentialVersionChild" HeaderText="Credential version"
Visible="true" HeaderButtonType="TextButton" DataField="CredentialVersionOther"
AllowFiltering="true">
<HeaderStyle Width="120px" />
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Matter/credential description" UniqueName="MatterDescription"
DataField="MatterDescription" AllowFiltering="false">
<HeaderStyle Width="719px" />
<ItemTemplate>
<asp:Label ID="lblMatterDescription" runat="server" Text=""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Matter/credential description" UniqueName="ConfidentialYes"
DataField="MatterDescription" AllowFiltering="false" Visible="false">
<ItemTemplate>
<asp:Label ID="lblConfidentialYes" runat="server" Text=""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Matter/credential description" UniqueName="ConfidentialNo"
DataField="MatterDescription" AllowFiltering="false" Visible="false">
<ItemTemplate>
<asp:Label ID="lblConfidentialNo" runat="server" Text=""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="ClientSector" DataField="ClientSector"
HeaderText="Client sector"Visible="false" SortExpression="ClientSector" AllowFiltering="true">
<ItemTemplate>
<asp:Label runat="server" ID="lblClientSector" Text='<%#Bind("ClientSector")%>' CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypClientSectormore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTClientSector" runat="server" TargetControlID="hypClientSectormore"
Width="150px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn SortExpression="MatterSector" UniqueName="MatterSector"
HeaderText="Matter sector" DataField="MatterSector" Visible="false">
<ItemTemplate>
<asp:Label runat="server" ID="lblMatterSector" Text='<%#Bind("MatterSector")%>' CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypMatterSectormore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTMatterSector" runat="server" TargetControlID="hypMatterSectormore"
Width="150px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Work type" UniqueName="WT" DataField="WorkType"
Visible="false">
<ItemTemplate>
<asp:Label ID="lblWorkType" runat="server" Text=""></asp:Label>
<asp:LinkButton runat="server" ID="hypmore" Text="...more" Font-Bold="true" ForeColor="BurlyWood"
Visible="false"></asp:LinkButton>
<telerik:RadToolTip ID="RadToolTip1" runat="server" TargetControlID="hypmore" Width="150px"
RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn SortExpression="PracticeGroup" UniqueName="PracticeGroup"
HeaderText="Practice group" DataField="PracticeGroup" Visible="false">
<ItemTemplate>
<asp:Label runat="server" ID="lblPracticeGroup" Text='<%#Bind("PracticeGroup")%>'
CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypPracticeGroupmore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTPracticeGroup" runat="server" TargetControlID="hypPracticeGroupmore"
Width="150px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn SortExpression="LeadPartner" UniqueName="LeadPartner"
HeaderText="Lead partner" DataField="LeadPartner" Visible="false">
<ItemTemplate>
<asp:Label runat="server" ID="lblLeadPartner" Text='<%#Bind("LeadPartner")%>' CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypLeadPartnermore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTLeadPartner" runat="server" TargetControlID="hypLeadPartnermore"
Width="150px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn SortExpression="MatterLocation" UniqueName="MatterLocation"
HeaderText="Matter location" DataField="MatterLocation" Visible="false">
<ItemTemplate>
<asp:Label runat="server" ID="lblMatterLocation" Text='<%#Bind("MatterLocation")%>'
CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypMatterLocationmore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTMatterLocation" runat="server" TargetControlID="hypMatterLocationmore"
Width="150px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn SortExpression="DateCompleted" HeaderText="Date completed"
Visible="false" HeaderButtonType="TextButton" DataField="DateCompleted" UniqueName="DateCompleted">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="CredentialType" HeaderText="Credential type"
Visible="false" HeaderButtonType="TextButton" DataField="CredentialType">
<HeaderStyle Width="10%" />
<ItemStyle Width="10%" />
</telerik:GridBoundColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridTemplateColumn UniqueName="Checkbox" Display="true" AllowFiltering="false">
<ItemTemplate>
<asp:CheckBox ID="chkMasterChild" runat="server" AutoPostBack="false" />
</ItemTemplate>
<HeaderTemplate>
<table>
<tr>
<td>
<asp:CheckBox ID="chkMasterHead" runat="server" AutoPostBack="false" onclick="RowSelectedMaster(this);" />
</td>
</tr>
</table>
</HeaderTemplate>
<HeaderStyle Width="30px" />
</telerik:GridTemplateColumn>
<%
--<telerik:GridClientSelectColumn HeaderStyle-Width="20px" UniqueName="Checkbox" Visible="false">
<HeaderStyle Width="20px" />
</telerik:GridClientSelectColumn>--
%>
<telerik:GridBoundColumn SortExpression="ClientName" HeaderText="Client name" HeaderButtonType="TextButton"
DataField="ClientName" Visible="false" UniqueName="CName">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn SortExpression="ClientName" UniqueName="ClientName" HeaderText="Client name"
DataField="ClientName" Visible="true" FilterControlWidth="115px">
<ItemTemplate>
<asp:HyperLink ID="Link" runat="server" Text='<%#Bind("CredentialID") %>' Visible="false"></asp:HyperLink>
<asp:LinkButton runat="server" ID="hypid" Text='<%#Bind("ClientName") %>' Font-Bold="true"
OnClick="hypid_Click" ForeColor="Black"></asp:LinkButton>
</ItemTemplate>
<HeaderStyle Width="200px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn SortExpression="CredentialVersion" UniqueName="CredentialVersion"
HeaderText="Credential version"
DataField="CredentialVersion" Visible="true" AllowFiltering="true">
<ItemTemplate>
<asp:Label runat="server" ID="lblCredentialVersion" Text='<%#Bind("CredentialVersion")%>'
CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypCredentialVersionmore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTCredentialVersion" runat="server" TargetControlID="hypCredentialVersionmore"
Width="150px" RelativeTo="Element" Position="MiddleRight" Visible="false">
</telerik:RadToolTip>
</ItemTemplate>
<HeaderStyle Width="120px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Matter/credential description" UniqueName="MatterDescription"
DataField="MatterDescription" FilterControlWidth="300px">
<HeaderStyle Width="700px" />
<ItemTemplate>
<asp:Label ID="lblMatterDescription" runat="server" Text=""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Matter/credential description" UniqueName="ConfidentialYes"
DataField="MatterDescription" AllowFiltering="false" Visible="false">
<ItemTemplate>
<asp:Label ID="lblConfidentialYes" runat="server" Text=""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Matter/credential description" UniqueName="ConfidentialNo"
DataField="MatterDescription" AllowFiltering="false" Visible="false">
<ItemTemplate>
<asp:Label ID="lblConfidentialNo" runat="server" Text=""></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn SortExpression="ClientSector" UniqueName="ClientSector"
HeaderText="Client sector" DataField="ClientSector" Visible="true" FilterControlWidth="150px">
<ItemTemplate>
<asp:Label runat="server" ID="lblClientSector" Text='<%#Bind("ClientSector")%>' CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypClientSectormore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTClientSector" runat="server" TargetControlID="hypClientSectormore"
Width="150px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
<HeaderStyle Width="200px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn SortExpression="MatterSector" UniqueName="MatterSector"
HeaderText="Matter sector" DataField="MatterSector" Visible="true" FilterControlWidth="150px">
<ItemTemplate>
<asp:Label runat="server" ID="lblMatterSector" Text='<%#Bind("MatterSector")%>' CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypMatterSectormore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTMatterSector" runat="server" TargetControlID="hypMatterSectormore"
Width="180px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
<HeaderStyle Width="200px" />
<%
--<ItemStyle Width="8%" />--%>
</telerik:GridTemplateColumn>
<%
-- <telerik:GridBoundColumn SortExpression="MatterSector" HeaderText="MatterSector"
HeaderButtonType="TextButton" DataField="MatterSector" UniqueName="MatterSector">
<HeaderStyle Width="15%" />
<ItemStyle Width="15%" Wrap="true" />
</telerik:GridBoundColumn>--
%>
<telerik:GridTemplateColumn HeaderText="Work type" UniqueName="WT" DataField="WorkType"
AllowFiltering="false">
<HeaderStyle Width="190px" />
<ItemStyle Wrap="true" />
<ItemTemplate>
<asp:Label ID="lblWorkType" runat="server" Text=""></asp:Label>
<asp:LinkButton runat="server" ID="hypmore" Text="...more" Font-Bold="true" ForeColor="BurlyWood"
Visible="false"></asp:LinkButton>
<telerik:RadToolTip ID="RadToolTip1" runat="server" TargetControlID="hypmore" Width="150px"
RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
</telerik:GridTemplateColumn>
<%
-- <telerik:GridBoundColumn SortExpression="PracticeGroup" HeaderText="PracticeGroup"
HeaderButtonType="TextButton" DataField="PracticeGroup" UniqueName="PracticeGroup">
<HeaderStyle Width="15%" />
<ItemStyle Width="15%" Wrap="true" />
</telerik:GridBoundColumn>--
%>
<telerik:GridTemplateColumn SortExpression="PracticeGroup" UniqueName="PracticeGroup"
HeaderText="Practice group" DataField="PracticeGroup" Visible="true" FilterControlWidth="150px">
<ItemTemplate>
<asp:Label runat="server" ID="lblPracticeGroup" Text='<%#Bind("PracticeGroup")%>'
CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypPracticeGroupmore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTPracticeGroup" runat="server" TargetControlID="hypPracticeGroupmore"
Width="150px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
<HeaderStyle Width="200px" />
<%
--<ItemStyle Width="8%" />--%>
</telerik:GridTemplateColumn>
<%
--<telerik:GridBoundColumn SortExpression="LeadPartner" HeaderText="LeadPartner" HeaderButtonType="TextButton"
DataField="LeadPartner" UniqueName="LeadPartner">
<HeaderStyle Width="15%" />
<ItemStyle Width="15%" Wrap="true" />
</telerik:GridBoundColumn>--
%>
<telerik:GridTemplateColumn SortExpression="LeadPartner" UniqueName="LeadPartner"
HeaderText="Lead partner" DataField="LeadPartner" Visible="true" FilterControlWidth="140px">
<ItemTemplate>
<asp:Label runat="server" ID="lblLeadPartner" Text='<%#Bind("LeadPartner")%>' CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypLeadPartnermore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTLeadPartner" runat="server" TargetControlID="hypLeadPartnermore"
Width="150px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
<HeaderStyle Width="190px" />
<%
--<ItemStyle Width="5%" />--%>
</telerik:GridTemplateColumn>
<%
--<telerik:GridBoundColumn SortExpression="MatterLocation" HeaderText="MatterLocation"
HeaderButtonType="TextButton" DataField="MatterLocation" UniqueName="MatterLocation">
<HeaderStyle Width="15%" />
<ItemStyle Width="15%" Wrap="true" />
</telerik:GridBoundColumn>--
%>
<telerik:GridTemplateColumn SortExpression="MatterLocation" UniqueName="MatterLocation"
HeaderText="Matter location" DataField="MatterLocation" Visible="true" FilterControlWidth="140px">
<ItemTemplate>
<asp:Label runat="server" ID="lblMatterLocation" Text='<%#Bind("MatterLocation")%>'
CssClass="panelStyle1"></asp:Label>
<asp:LinkButton runat="server" ID="hypMatterLocationmore" Text="...more" Font-Bold="true"
ForeColor="BurlyWood" Visible="false" CssClass="panelStyle1"></asp:LinkButton>
<telerik:RadToolTip ID="radTTMatterLocation" runat="server" TargetControlID="hypMatterLocationmore"
Width="150px" RelativeTo="Element" Position="MiddleRight">
</telerik:RadToolTip>
</ItemTemplate>
<HeaderStyle Width="190px" />
<%
--<ItemStyle Width="5%" />--%>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
Case 1)
If I place the below grid on a aspx page, the grid data is loaded client side and paging and sorting appear to be working as expected.
Case 2)
However, if I put the below grid on a web User Control, then place the control on an aspx page, paging and sorting do not work, the page number will change, but the data isn't refreshed in the grid, also if you click a heading to sort, the sort direction icon is shown, but the grid data does not refresh.
Case 3) (this is my end goal)
If you put the below grid in a ContentTemplate of a Menuitem, sort or paging does not work, and the page numbers won't change when changing pages, and the item count isn't correct. (this is my end goal). if I use server side binding, needdatasource everything works fine, but I'm really trying to get client side binding to avoid postbacks. No editing of data, just view only.
Also, the template column that is commented out, throws an error when the page first loads, as it's binding to an empty datasource is my guess, says fph_Private isn't part of the DataSource.
<
telerik:RadGrid
ID
=
"rgRecent1"
runat
=
"server"
ClientDataSourceID
=
"RadClientDataSource2"
AllowPaging
=
"true"
AllowSorting
=
"true"
PageSize
=
"5"
>
<
MasterTableView
>
<
Columns
>
<%-- <
telerik:GridTemplateColumn
>
<
ItemTemplate
>
<
asp:Image
ID
=
"imgShared"
runat
=
"server"
ImageUrl
=
"~/Images/Shared.png"
Visible='<%# IIf(CType(Eval("fph_Private"), Boolean), 0, 1)%>' ToolTip="Shared" BorderWidth="0" Width="16px" />
</
ItemTemplate
>
<
HeaderStyle
HorizontalAlign
=
"Left"
Width
=
"20px"
/>
<
ItemStyle
HorizontalAlign
=
"Left"
Width
=
"20px"
/>
</
telerik:GridTemplateColumn
>--%>
<
telerik:GridBoundColumn
UniqueName
=
"pt_Type"
DataField
=
"pt_Type"
HeaderText="<br />Type">
<
HeaderStyle
HorizontalAlign
=
"Left"
Width
=
"75px"
/>
<
ItemStyle
HorizontalAlign
=
"Left"
Width
=
"75px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"ItemsCount"
DataField
=
"ItemsCount"
HeaderText="Items<br />Count">
<
HeaderStyle
HorizontalAlign
=
"Left"
Width
=
"50px"
/>
<
ItemStyle
HorizontalAlign
=
"Left"
Width
=
"50px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"rm_RepNumber"
DataField
=
"rm_RepNumber"
HeaderText="<br />Rep NO">
<
HeaderStyle
HorizontalAlign
=
"Left"
Width
=
"75px"
/>
<
ItemStyle
HorizontalAlign
=
"Left"
Width
=
"75px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"ot_Abbreviation"
DataField
=
"ot_Abbreviation"
HeaderText="Lead<br />Time">
<
HeaderStyle
HorizontalAlign
=
"Left"
Width
=
"50px"
/>
<
ItemStyle
HorizontalAlign
=
"Left"
Width
=
"50px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"fph_ProjectNumber"
DataField
=
"fph_ProjectNumber"
HeaderText="<br />Project NBR">
<
HeaderStyle
HorizontalAlign
=
"Left"
Width
=
"100px"
/>
<
ItemStyle
HorizontalAlign
=
"Left"
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"fph_ProjectName"
DataField
=
"fph_ProjectName"
HeaderText="<br />Project Name">
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"LastFirstMiddle"
DataField
=
"LastFirstMiddle"
HeaderText="<br />Initiator">
<
HeaderStyle
HorizontalAlign
=
"Left"
Width
=
"200px"
/>
<
ItemStyle
HorizontalAlign
=
"Left"
Width
=
"200px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"fpr_AccessDate"
DataField
=
"fpr_AccessDate"
DataFormatString
=
"{0: MM/dd/yyyy hh:mm tt}"
HeaderText="<br />Last Access Date">
<
HeaderStyle
HorizontalAlign
=
"Left"
Width
=
"125px"
/>
<
ItemStyle
HorizontalAlign
=
"Left"
Width
=
"125px"
/>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
>
<
DataBinding
ShowEmptyRowsOnLoad
=
"false"
></
DataBinding
>
</
ClientSettings
>
<
PagerStyle
AlwaysVisible
=
"true"
Mode
=
"NextPrevNumericAndAdvanced"
/>
</
telerik:RadGrid
>
<
telerik:RadClientDataSource
ID
=
"RadClientDataSource2"
runat
=
"server"
AllowPaging
=
"true"
PageSize
=
"5"
>
<
DataSource
>
<
DataSourceControlSettings
DataSourceID
=
"ObjectDataSource_FPHR"
/>
</
DataSource
>
</
telerik:RadClientDataSource
>
<
asp:ObjectDataSource
ID
=
"ObjectDataSource_FPHR"
runat
=
"server"
SelectMethod
=
"GetFieldProjectRecent"
TypeName
=
"AppClassObjects.FieldProjectHeaderRecent"
>
<
SelectParameters
>
<
asp:SessionParameter
Name
=
"u_UsersID"
DefaultValue
=
"32"
SessionField
=
"UserID"
Type
=
"Int32"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
In a telerik:RadGrid, I specify that every line will have a detail table:
<
telerik:RadGrid
ID
=
"grd"
AutoGenerateColumns
=
"False"
runat
=
"server"
OnDetailTableDataBind
=
"grd_OnDetailTableDataBind"
AllowMultiRowSelection
=
"True"
>
<
MasterTableView
DataKeyNames
=
"id1,id2"
>
<
Columns
>
<
telerik:GridClientSelectColumn
UniqueName
=
"DetailCheckColumn"
/>
<
telerik:GridBoundColumn
HeaderText
=
"Date"
DataField
=
"foo"
/>
<
telerik:GridBoundColumn
HeaderText
=
"Time"
DataField
=
"bar"
/>
<
telerik:GridBoundColumn
HeaderText
=
"Activity"
DataField
=
"xod"
/>
</
Columns
>
<
DetailTables
>
<
telerik:GridTableView
ShowHeadersWhenNoRecords
=
"True"
DataKeyNames
=
"id"
Name
=
"Child"
/>
</
DetailTables
>
</
MasterTableView
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
In the handler for the OnDetailTableDataBind event, I specify the data source for the DetailTableView. The handler is called when a line is expanded. Setting a list of anonymous objects as data source works fine, but a list of Dictionary will not.
I get a yellow page, It seems like the grid table view tries to find a property id of Dictionary
DataBinding: System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] does not have a property with the name id.
If I remove the DataKeyNames attribute in the detail table, I will get a detail table with the correct number of lines, but the fields will be all blank (screenshot is attached).
The event handler where I create the detail table for each expanded line. Observe that I name columns c1, c2 etc. I create the columns in the first loop round.
protected void grd_OnDetailTableDataBind(object sender,
GridDetailTableDataBindEventArgs e)
{
var tv = e.DetailTableView;
var parentItem = e.DetailTableView.ParentItem;
var bis = dal.get_booking_informations();
tv.Columns.Add(new GridClientSelectColumn());
var columnNameDict = new Dictionary<
string
,string>();
var firstDict = true;
var dicts = bis.GroupBy(bi=>bi.platsBokadID).Select(group =>
{
var dict = new Dictionary<
string
, string>();
dict["id"] = "" + group.Key;
var list = group.ToList();
if (firstDict)
{
firstDict = false;
var num = 0;
var columns = list.Select(header=>
{
var shortName = "c" + ++num;
columnNameDict[header.HeaderName] = shortName;
return new GridBoundColumn
{
DataField = shortName,
HeaderText = header.HeaderName
};
});
foreach(var column in columns)
tv.Columns.Add(column);
}
foreach(var header in list)
{
var shortName = columnNameDict[header.HeaderName];
dict[shortName] = header.Value;
}
return dict;
});
tv.DataSource = dicts;
}
I have also tried to use dynamic objects instead of Dictionaries (with the same result):
protected void grdActivitiesToCopy_OnDetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e)
{
var tv = e.DetailTableView;
var parentItem = e.DetailTableView.ParentItem;
var bis = dal.get_booking_informations();
tv.Columns.Add(new GridClientSelectColumn());
var columnNameDict = new Dictionary<
string
,string>();
var firstDict = true;
var dicts = bis.GroupBy(bi=>bi.platsBokadID).Select(group =>
{
var dict = new Dictionary<
string
, object>();
dict["id"] = "" + group.Key;
var list = group.ToList();
if (firstDict)
{
firstDict = false;
var num = 0;
var columns = list.Select(header=>
{
var shortName = "c" + ++num;
columnNameDict[header.HeaderName] = shortName;
return new GridBoundColumn
{
DataField = shortName,
HeaderText = header.HeaderName
};
});
foreach(var column in columns)
tv.Columns.Add(column);
}
var eo = new ExpandoObject();
var eoColl = (ICollection<
KeyValuePair
<string, object>>)eo;
foreach(var header in list)
{
var shortName = columnNameDict[header.HeaderName];
dict[shortName] = header.Value;
}
foreach (var kvp in dict)
{
eoColl.Add(kvp);
}
dynamic eoDynamic = eo;
return eoDynamic;
}).ToList();
tv.DataSource = dicts;
}
hi everboy i'm new to RadGrid and i found this example at site
http://demos.telerik.com/aspnet-ajax/controls/examples/integration/gridandwindow/defaultcs.aspx?product=grid
and i copy all file and this work find, but when it run this show error, plz help me, thank