Dear Telerik,
Is there any way to bind the child (or) nested grid based on the corresponding tab selected?
Say example, if I select the first tab of the nested grid the respective grid need to be bind only that time rest of grids not need to bind. Suppose if I go to the second tab then the only that time the second grid need to bind mean while the first tab grid data need to be set nothing or clear.
Whether the above mentioned way would help to achieve the speed or performance of the grid. If so point out how we can achieve the scenario.
I used the below mentioned to bind the nested grid's already, but it leads to slow in loading the nested grid for each operations
| protected void ParentGrid_PreRender(object sender, EventArgs e) |
| { |
| foreach (GridDataItem item in ParentGrid.MasterTableView.Items) |
| { |
| if (item.Expanded) |
| { |
| //foreach (GridNestedViewItem item1 in RadFirmGrid.MasterTableView.GetItems(GridItemType.NestedView)) |
| //{ |
| GridNestedViewItem item1 = RadFirmGrid.MasterTableView.GetItems(GridItemType.NestedView)[item.ItemIndex] as GridNestedViewItem; |
| // Binding Cutomer grid |
| RadGrid Child1 = (RadGrid)item1.FindControl("Customer"); |
| // Binding Products grid |
| RadGrid Child2 = (RadGrid)item1.FindControl("Products"); |
| <%@ Page Language="vb" AutoEventWireup="false" EnableEventValidation="false" CodeBehind="radViewAlarms.aspx.vb" Inherits="ClientWebApp.radViewAlarms" MasterPageFile="~/radClientWebApp.Master"%> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <asp:Content ContentPlaceHolderID="cphHeader" ID="cphBreadCrumbs" runat="server"> |
| <table class="PageHeader"> |
| <tr> |
| <td> |
| <asp:Label ID="lblBreadCrumbs" runat="server" ></asp:Label> |
| </td> |
| </tr> |
| </table> |
| <table class="PageHeaderToolbar"> |
| <tr> |
| <td> |
| <asp:ImageButton ID="imgbtnAck" runat="server" ToolTip="Click to acknowledge the selected alarm." ImageUrl="~/Style/Images/alarm_aknowlege.gif" /> |
| <asp:ImageButton ID="imgbtnDel" runat="server" ToolTip="Click to delete the selected alarm." ImageUrl="~/Style/Images/alarm_delete.gif" style="width: 16px" /> |
| </td> |
| </tr> |
| </table> |
| </asp:Content> |
| <asp:Content ContentPlaceHolderID="ContentPlaceHolder1" ID="cphBody" runat="server"> |
| <script type="text/javascript"> |
| var selected = {}; |
| function RadGrid1_RowSelected(sender, args) { |
| var AlarmGUID = args.getDataKeyValue("AlarmGUID"); |
| if (!selected[AlarmGUID]) { |
| selected[AlarmGUID] = true; |
| } |
| } |
| function RadGrid1_RowDeselected(sender, args) { |
| var AlarmGUID = args.getDataKeyValue("AlarmGUID"); |
| if (selected[AlarmGUID]) { |
| selected[AlarmGUID] = null; |
| } |
| } |
| function RadGrid1_RowCreated(sender, args) { |
| var AlarmGUID = args.getDataKeyValue("AlarmGUID"); |
| if (selected[AlarmGUID]) { |
| args.get_gridDataItem().set_selected(true); |
| } |
| } |
| </script> |
| <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" > |
| <telerik:RadGrid ID="RadGrid1" runat="server" AllowMultiRowSelection="true" |
| AllowSorting="True" AutoGenerateColumns="False" GridLines="Both" Skin="Black" EnableAjaxSkinRendering="false" > |
| <MasterTableView ClientDataKeyNames="AlarmGUID" RowIndicatorColumn-Display="false" TableLayout="Auto" > |
| <Columns> |
| <telerik:GridBoundColumn DataField="Severity" HeaderText="Severity" SortExpression="Severity" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" /> |
| <telerik:GridBoundColumn DataField="DisplayName" HeaderText="DisplayName" SortExpression="DisplayName" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" /> |
| <telerik:GridBoundColumn DataField="Description" HeaderText="Description" SortExpression="Description" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" /> |
| <telerik:GridBoundColumn DataField="TimeFirst" HeaderText="TimeFirst" SortExpression="TimeFirst" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" /> |
| <telerik:GridBoundColumn DataField="TimeLast" HeaderText="TimeLast" SortExpression="TimeLast" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" /> |
| <telerik:GridBoundColumn DataField="AlarmId" HeaderText="AlarmId" SortExpression="AlarmId" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" /> |
| <telerik:GridBoundColumn DataField="AckedBy" HeaderText="AckedBy" SortExpression="AckedBy" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" EmptyDataText="UnAcked" /> |
| <telerik:GridBoundColumn DataField="TimeAcked" HeaderText="TimeAcked" SortExpression="TimeAcked" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" EmptyDataText="UnAcked" /> |
| <telerik:GridBoundColumn DataField="OccurrenceCount" HeaderText="OccurrenceCount" SortExpression="OccurrenceCount" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" /> |
| <telerik:GridBoundColumn DataField="NewOccurrenceCount" HeaderText="OccurrenceCount" SortExpression="NewOccurrenceCount" ItemStyle-BorderColor="Black" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Left" /> |
| </Columns> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px" /> |
| </ExpandCollapseColumn> |
| </MasterTableView> |
| <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True"> |
| <Selecting AllowRowSelect="True" /> <Resizing AllowRowResize="True"/> <Resizing AllowColumnResize="True"/> |
| <ClientEvents OnRowSelected="RadGrid1_RowSelected" OnRowDeSelected="RadGrid1_RowDeselected" OnRowCreated="RadGrid1_RowCreated" /> |
| </ClientSettings> |
| </telerik:RadGrid> |
| <asp:Timer ID="Timer1" runat="server" Interval="1000"> |
| </asp:Timer> |
| </telerik:RadAjaxPanel> |
| </asp:Content> |
AllowAutomaticUpdates
="false" and
AllowAutomaticInserts
="True" and
<
telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn">
<ItemStyle CssClass="MyImageButton" />
</telerik:GridEditCommandColumn>
as first column of the Grid.
| <asp:UpdatePanel ID="upExpList" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> |
| <ContentTemplate> |
| <ul> |
| <telerik:RadListView OnPageIndexChanged="rlvExperiences_PageIndexChanged" |
| ItemPlaceholderID="ViewTitlePlaceholder" |
| DataKeyNames="ExperienceId" ID="rlvExperienceTitles" |
| runat="server" AllowPaging="true"> |
| <LayoutTemplate> |
| <li runat="server" id="ViewTitlePlaceholder" /> |
| </li> |
| </LayoutTemplate> |
| <ItemTemplate> |
| <li> |
| //removed for brevity |
| </li> |
| </ItemTemplate> |
| </telerik:RadListView> |
| </ul> |
| </div> |
| </ContentTemplate> |
| <Triggers> |
| <asp:AsyncPostBackTrigger ControlID="dataPager" EventName="Command" /> |
| <asp:PostBackTrigger ControlID="rlvExperienceTitles" /> |
| </Triggers> |
| </asp:UpdatePanel> |
| <asp:UpdatePanel ID="upDataPager" runat="server" > |
| <ContentTemplate> |
| <telerik:RadDataPager BackColor="Transparent" BorderColor="Transparent" |
| Font-Size="Small" ID="dataPager" runat="server" PagedControlID="rlvExperienceTitles" |
| PageSize="20"> |
| <Fields> |
| <telerik:RadDataPagerButtonField FieldType="Prev" /> |
| <telerik:RadDataPagerButtonField FieldType="Numeric" /> |
| <telerik:RadDataPagerButtonField FieldType="Next" /> |
| <telerik:RadDataPagerTemplatePageField> |
| <PagerTemplate> |
| <div style="float: right"> |
| <asp:Label runat="server" ID="CurrentPageLabel" Text="<%# Container.Owner.StartRowIndex+1%>" /> |
| to |
| <asp:Label runat="server" ID="TotalPagesLabel" Text="<%#CheckPagingTotal( Container.Owner.StartRowIndex+Container.Owner.PageSize) %>" /> |
| of |
| <asp:Label runat="server" ID="TotalItemsLabel" Text="<%# Container.Owner.TotalRowCount%>" /> |
| </div> |
| </PagerTemplate> |
| </telerik:RadDataPagerTemplatePageField> </Fields> |
| </telerik:RadDataPager> |
| </ContentTemplate></asp:UpdatePanel> |
Dear Telerik,
I am having Radgrid , which has 10 columns in the names like A,B,C,D,E.. etc.
All columns widths are defined in percentage in order to make a better view.
My scenario is I would like to show only few columns in the grid and the remain columns need to be displayed based on the checkbox selection of HeaderContextMenu.
The HeaderContextMenu need to have all of the columns names in the list intimating checked flag for the visible column and uncheck for the invisible columns.
I hope you could understan the scenario.If so please let me know the possibility of the scenario
-Thanks
| <telerik:RadGrid ID="GridDepartment" runat="server" OnPageIndexChanged="GridDepartment_PageIndexChanged" |
| OnPageSizeChanged="GridDepartment_PageSizeChanged" OnSortCommand="GridDepartment_SortCommand" |
| OnItemDataBound="GridDepartment_ItemDataBound" OnItemCommand="GridDepartment_ItemCommand"> |
| <MasterTableView AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" |
| GroupsDefaultExpanded="false" PageSize="20"> |
| <Columns> |
| <telerik:GridTemplateColumn> |
| <ItemTemplate> |
| <asp:CheckBox ID="checkBox" runat="server" AutoPostBack="true"/> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridBoundColumn DataField="DspName" HeaderText="姓名" UniqueName="DspName" |
| SortExpression="DspName"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="DeptName" HeaderText="部门" UniqueName="DeptName" |
| SortExpression="DeptName"> |
| </telerik:GridBoundColumn> |
| </Columns> |
| <GroupByExpressions> |
| <telerik:GridGroupByExpression> |
| <SelectFields> |
| <telerik:GridGroupByField FieldName="DeptName" HeaderText="部门" /> |
| </SelectFields> |
| <GroupByFields> |
| <telerik:GridGroupByField FieldName="DeptName" HeaderText="部门" SortOrder="Descending" /> |
| </GroupByFields> |
| </telerik:GridGroupByExpression> |
| </GroupByExpressions> |
| </MasterTableView> |
| <ClientSettings> |
| <Selecting AllowRowSelect="True" /> |
| </ClientSettings> |
| </telerik:RadGrid> I don't know how to get the information when users click the CheckBox. For example,when users click the first two,how can I know the choosed items? Please have a look at the attachment. |