Hi All
I am using a rad grid and java script code inside it to push the client id of each checkbox against each record in an array but it is not working after post back . on load it push the control id and then keeps them till the end until it is loaded again.
Here is my code
<%@ Page Language="C#" MasterPageFile="~/MasterPages/Page.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs"
EnableEventValidation="false" %>
<asp:Content ID="PartTransferOutContent" ContentPlaceHolderID="ContentPlaceHolder_Content"
runat="Server">
<telerik:RadCodeBlock ID="radCodeBlock" runat="server">
<script type="text/javascript">
var selectDeselectAllFlag = true;
var headerCheckBoxID;
var registeredElements = [];
var temp = 0;
function SelectDeselectCheckBox() {
try {
var clientid = "";
alert(registeredelements.length);
for (var i = 0; i < registeredelements.length; i++) {
clientid = registeredelements[i];
var checkbox = document.getelementbyid(clientid);
if (checkbox) {
if (headercheckbox.checked)
checkbox.checked = false;
else
checkbox.checked = true;
}
}
if (headercheckbox.checked)
headercheckbox.checked = false;
else
headercheckbox.checked = true;
}
catch (er) {
}
return true;
}
</script>
</telerik:RadCodeBlock>
<telerik:RadAjaxManagerProxy ID="radAjaxManagerProxy" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="ItemRadGrid">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ItemRadGrid" LoadingPanelID="RadAjaxLoadingPanelGrid" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
<telerik:RadSplitter ID="SplitterMain" runat="server">
<telerik:RadSplitBar ID="RadSplitBar1" runat="server">
</telerik:RadSplitBar>
<telerik:RadPane ID="panebottom" runat="server" SkinID="BottomRadPane">
<table width="98%" style="table-layout: fixed">
<tr>
<td>
<asp:Label ID="MessageLabel" runat="server" SkinID="MessageLabel"></asp:Label>
</td>
</tr>
</table>
<telerik:RadDockLayout ID="RadDockLayoutSearch" runat="server" OnLoadDockLayout="RadDockLayoutSearch_LoadDockLayout">
<telerik:RadDock ID="RadDockSearchResults" runat="server" OnCommand="RadDock_Command">
<TitlebarTemplate>
<table class="RadDockTitlebarTemplateTableClass">
<tr>
<td>
<asp:Label ID="SearchLabel" runat="server" Text="Search Results" SkinID="RadDockTitleLabel" />
</td>
</tr>
</table>
</TitlebarTemplate>
<ContentTemplate>
<div class="RadGridHorizontalScroll">
<telerik:RadGrid ID="ItemRadGrid" runat="server" DatasourcePersistenceMode="ViewState"
OnItemCreated="ItemRadGrid_ItemCreated" OnNeedDataSource="ItemRadGrid_OnNeedDataSource"
OnDetailTableDataBind="ItemRadGrid_DetailTableDataBind" OnItemDataBound="ItemRadGrid_ItemDataBound"
GridLines="None" Width="99.4%">
<ClientSettings>
<Resizing AllowColumnResize="true" EnableRealTimeResize="true" ResizeGridOnColumnResize="true"
ClipCellContentOnResize="true" />
<Selecting AllowRowSelect="true" />
</ClientSettings>
<HeaderContextMenu>
<CollapseAnimation Duration="200" Type="OutQuint" />
</HeaderContextMenu>
<MasterTableView Width="100%"
ShowHeader="false" CommandItemDisplay="Top"
EnableViewState="true" HierarchyDefaultExpanded="True" HierarchyLoadMode="Client"
AllowMultiColumnSorting="true" AllowNaturalSort="true" ShowFooter="true" TableLayout="Fixed">
<PagerStyle Position="TopAndBottom" />
<CommandItemTemplate>
<table width="100%">
<tr>
<td class="ButtonSeparator">
<asp:LinkButton ID="SelectDeselectLinkButton" OnClientClick="return SelectDeselectCheckBox();"
runat="server" Text="Select/Deselect All" SkinID="SmallLinkButton"></asp:LinkButton>
</td>
</tr>
</table>
</CommandItemTemplate>
<DetailTables>
<telerik:GridTableView runat="server"
DatasourcePersistenceMode="ViewState" EnableViewState="true" Width="100%"
HierarchyLoadMode="Client" TableLayout="Fixed">
<ExpandCollapseColumn Visible="True">
</ExpandCollapseColumn>
<DetailTables>
<telerik:GridTableView runat="server"
DatasourcePersistenceMode="ViewState" EnableViewState="true">
<PagerStyle Visible="false" />
<Columns>
some column here
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridTemplateColumn UniqueName="SelectItemCheckBoxColumn" Resizable="false" Reorderable="false">
<ItemTemplate>
<asp:CheckBox ID="SelectItemCheckBox" runat="server" onclick="return SetHeaderCheckBox(this);"/>
<script type="text/javascript">
//alert('create');
registeredElements.push('<%# Container.FindControl("SelectItemCheckBox").ClientID %>');
</script>
</ItemTemplate>
<HeaderTemplate>
<%--Updated for Defect #18369--%>
<div style="cursor:auto">
<asp:CheckBox ID="SelectHeaderCheckBox" runat="server" onclick="return SelectAllCheckBox(this);"/>
</div>
<script type="text/javascript">
headerCheckBoxID = '<%# Container.FindControl("SelectHeaderCheckBox").ClientID %>';
</script>
</HeaderTemplate>
</telerik:GridTemplateColumn>
some more columns are here
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridTemplateColumn FooterStyle-Width="80%">
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="Total" UniqueName="Total" FooterStyle-HorizontalAlign="Right"
Display="true">
</telerik:GridBoundColumn>
</Columns>
<ExpandCollapseColumn Visible="False">
<HeaderStyle Width="19px"></HeaderStyle>
</ExpandCollapseColumn>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
</MasterTableView>
<FilterMenu>
<CollapseAnimation Duration="200" Type="OutQuint" />
</FilterMenu>
</telerik:RadGrid>
</div>
</ContentTemplate>
<Commands>
<telerik:DockExpandCollapseCommand />
<telerik:DockCommand AutoPostBack="true" Text="Save Position" />
</Commands>
</telerik:RadDock>
</telerik:RadDockZone>
</telerik:RadDockLayout>
</telerik:RadPane>
</telerik:RadSplitter>
<telerik:RadWindowManager ID="RadWindowManager1" runat="server">
</telerik:RadWindowManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelGrid" runat="server">
</telerik:RadAjaxLoadingPanel>
</asp:Content>
and at Cs page I am refreshing it by ajax as
protected void Page_Load(object sender, EventArgs e)
{
_radAjaxManager = Master.FindControl("RadAjaxManagerPart") as RadAjaxManager;
if (_radAjaxManager != null)
{
_radAjaxManager.AjaxSettings.AddAjaxSetting(_radAjaxManager, ItemRadGrid);
_radAjaxManager.AjaxSettings.AddAjaxSetting(ItemRadGrid, MessageLabel);
}
}
Please help me out Thanks
I am using a rad grid and java script code inside it to push the client id of each checkbox against each record in an array but it is not working after post back . on load it push the control id and then keeps them till the end until it is loaded again.
Here is my code
<%@ Page Language="C#" MasterPageFile="~/MasterPages/Page.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs"
EnableEventValidation="false" %>
<asp:Content ID="PartTransferOutContent" ContentPlaceHolderID="ContentPlaceHolder_Content"
runat="Server">
<telerik:RadCodeBlock ID="radCodeBlock" runat="server">
<script type="text/javascript">
var selectDeselectAllFlag = true;
var headerCheckBoxID;
var registeredElements = [];
var temp = 0;
function SelectDeselectCheckBox() {
try {
var clientid = "";
alert(registeredelements.length);
for (var i = 0; i < registeredelements.length; i++) {
clientid = registeredelements[i];
var checkbox = document.getelementbyid(clientid);
if (checkbox) {
if (headercheckbox.checked)
checkbox.checked = false;
else
checkbox.checked = true;
}
}
if (headercheckbox.checked)
headercheckbox.checked = false;
else
headercheckbox.checked = true;
}
catch (er) {
}
return true;
}
</script>
</telerik:RadCodeBlock>
<telerik:RadAjaxManagerProxy ID="radAjaxManagerProxy" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="ItemRadGrid">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ItemRadGrid" LoadingPanelID="RadAjaxLoadingPanelGrid" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
<telerik:RadSplitter ID="SplitterMain" runat="server">
<telerik:RadSplitBar ID="RadSplitBar1" runat="server">
</telerik:RadSplitBar>
<telerik:RadPane ID="panebottom" runat="server" SkinID="BottomRadPane">
<table width="98%" style="table-layout: fixed">
<tr>
<td>
<asp:Label ID="MessageLabel" runat="server" SkinID="MessageLabel"></asp:Label>
</td>
</tr>
</table>
<telerik:RadDockLayout ID="RadDockLayoutSearch" runat="server" OnLoadDockLayout="RadDockLayoutSearch_LoadDockLayout">
<telerik:RadDock ID="RadDockSearchResults" runat="server" OnCommand="RadDock_Command">
<TitlebarTemplate>
<table class="RadDockTitlebarTemplateTableClass">
<tr>
<td>
<asp:Label ID="SearchLabel" runat="server" Text="Search Results" SkinID="RadDockTitleLabel" />
</td>
</tr>
</table>
</TitlebarTemplate>
<ContentTemplate>
<div class="RadGridHorizontalScroll">
<telerik:RadGrid ID="ItemRadGrid" runat="server" DatasourcePersistenceMode="ViewState"
OnItemCreated="ItemRadGrid_ItemCreated" OnNeedDataSource="ItemRadGrid_OnNeedDataSource"
OnDetailTableDataBind="ItemRadGrid_DetailTableDataBind" OnItemDataBound="ItemRadGrid_ItemDataBound"
GridLines="None" Width="99.4%">
<ClientSettings>
<Resizing AllowColumnResize="true" EnableRealTimeResize="true" ResizeGridOnColumnResize="true"
ClipCellContentOnResize="true" />
<Selecting AllowRowSelect="true" />
</ClientSettings>
<HeaderContextMenu>
<CollapseAnimation Duration="200" Type="OutQuint" />
</HeaderContextMenu>
<MasterTableView Width="100%"
ShowHeader="false" CommandItemDisplay="Top"
EnableViewState="true" HierarchyDefaultExpanded="True" HierarchyLoadMode="Client"
AllowMultiColumnSorting="true" AllowNaturalSort="true" ShowFooter="true" TableLayout="Fixed">
<PagerStyle Position="TopAndBottom" />
<CommandItemTemplate>
<table width="100%">
<tr>
<td class="ButtonSeparator">
<asp:LinkButton ID="SelectDeselectLinkButton" OnClientClick="return SelectDeselectCheckBox();"
runat="server" Text="Select/Deselect All" SkinID="SmallLinkButton"></asp:LinkButton>
</td>
</tr>
</table>
</CommandItemTemplate>
<DetailTables>
<telerik:GridTableView runat="server"
DatasourcePersistenceMode="ViewState" EnableViewState="true" Width="100%"
HierarchyLoadMode="Client" TableLayout="Fixed">
<ExpandCollapseColumn Visible="True">
</ExpandCollapseColumn>
<DetailTables>
<telerik:GridTableView runat="server"
DatasourcePersistenceMode="ViewState" EnableViewState="true">
<PagerStyle Visible="false" />
<Columns>
some column here
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridTemplateColumn UniqueName="SelectItemCheckBoxColumn" Resizable="false" Reorderable="false">
<ItemTemplate>
<asp:CheckBox ID="SelectItemCheckBox" runat="server" onclick="return SetHeaderCheckBox(this);"/>
<script type="text/javascript">
//alert('create');
registeredElements.push('<%# Container.FindControl("SelectItemCheckBox").ClientID %>');
</script>
</ItemTemplate>
<HeaderTemplate>
<%--Updated for Defect #18369--%>
<div style="cursor:auto">
<asp:CheckBox ID="SelectHeaderCheckBox" runat="server" onclick="return SelectAllCheckBox(this);"/>
</div>
<script type="text/javascript">
headerCheckBoxID = '<%# Container.FindControl("SelectHeaderCheckBox").ClientID %>';
</script>
</HeaderTemplate>
</telerik:GridTemplateColumn>
some more columns are here
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridTemplateColumn FooterStyle-Width="80%">
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="Total" UniqueName="Total" FooterStyle-HorizontalAlign="Right"
Display="true">
</telerik:GridBoundColumn>
</Columns>
<ExpandCollapseColumn Visible="False">
<HeaderStyle Width="19px"></HeaderStyle>
</ExpandCollapseColumn>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
</MasterTableView>
<FilterMenu>
<CollapseAnimation Duration="200" Type="OutQuint" />
</FilterMenu>
</telerik:RadGrid>
</div>
</ContentTemplate>
<Commands>
<telerik:DockExpandCollapseCommand />
<telerik:DockCommand AutoPostBack="true" Text="Save Position" />
</Commands>
</telerik:RadDock>
</telerik:RadDockZone>
</telerik:RadDockLayout>
</telerik:RadPane>
</telerik:RadSplitter>
<telerik:RadWindowManager ID="RadWindowManager1" runat="server">
</telerik:RadWindowManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelGrid" runat="server">
</telerik:RadAjaxLoadingPanel>
</asp:Content>
and at Cs page I am refreshing it by ajax as
protected void Page_Load(object sender, EventArgs e)
{
_radAjaxManager = Master.FindControl("RadAjaxManagerPart") as RadAjaxManager;
if (_radAjaxManager != null)
{
_radAjaxManager.AjaxSettings.AddAjaxSetting(_radAjaxManager, ItemRadGrid);
_radAjaxManager.AjaxSettings.AddAjaxSetting(ItemRadGrid, MessageLabel);
}
}
Please help me out Thanks