I am trying to update a RadLabel control that is inside of a RadlistView which is inside of a RadAjaxPanel. I have a user control on my aspx page that calls a public event handler when a modal on the user control closes. I can access the RadLabel, but it doesn't update.
Here is my HTML:
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1" BackColor="White">
<div class="form-group">
<asp:RadioButtonList ID="radioChoice" runat="server" RepeatDirection="Horizontal" AutoPostBack="true" CssClass="inline-rb" OnSelectedIndexChanged="radioChoice_SelectedIndexChanged">
<asp:ListItem Value="Multiple" Text="Multiple Record Report" Selected="True" />
<asp:ListItem Value="Single" Text="Single Record Report" />
</asp:RadioButtonList>
</div>
<asp:HiddenField runat="server" ID="panelCollapse" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="SelectedItem" />
<hr />
<telerik:RadListView runat="server" ID="radlistview1" OnItemDataBound="radlistview1_ItemDataBound" EnableViewState="false">
<ItemTemplate>
<div class="panel panel-default">
<div class="panel-heading" style="border:none; padding:0px !important">
<h4 class="panel-title">
<a data-toggle="collapse" href="#pnl<%#Eval("ModuleDataKey") %>" rel="popover" data-placement="top" data-content="Click to expand/collapse report list" data-trigger="hover"><i class="s7-plus"></i></a> <%#Eval("ModuleDataKey") %>
</h4>
</div>
<div id='pnl<%#Eval("ModuleDataKey") %>' class="panel-collapse collapse">
<div class="panel-body" style="padding:0px !important 10px 0px 10px">
<div runat="server" id="divNoResults" style="background-color:#ED4B4B;color:white" visible="false"><asp:PlaceHolder ID="noResults" runat="server"></asp:PlaceHolder> </div>
<div class="panel panel-alt3 panel-transparent" style="padding: 0px !important">
<div class="panel-heading panel-heading-cg" style="overflow:visible">
<div class="input-group">
<span runat="server" class="media" id="spFilter" visible='<%# DataBinder.Eval(Container.DataItem, "ModuleDataKey").ToString().ToLower() == "activity" ? false : true %>'>
<button type="button" data-toggle="dropdown" title="Filter List" class="btn btn-alt3" id="btnFilter" runat="server"><i class="icon icon-left s7-filter"></i><span class="caret"></button>
<ul role="menu" class="dropdown-menu">
<li runat="server" id="btnCustomFilter"><asp:LinkButton runat="server" ID="lnkCustom" OnClick="customFilterLink_ServerClick" OnClientClick="javascript:OpenFilterModal();" >Custom</asp:LinkButton></li>
<li class="divider"></li>
<asp:PlaceHolder runat="server" ID="hldFilters"></asp:PlaceHolder>
</ul>
</span>
<span id="ddlLists" runat="server" visible="false" style="display:inline" >
<span runat="server" id="spJobDropDown" visible='<%# DataBinder.Eval(Container.DataItem, "ModuleDataKey").ToString().ToLower() == "job" ? true : false %>'>
<telerik:RadComboBox DropDownAutoWidth="Enabled" RenderMode="Lightweight" ID="qfTicket_cmbJob" EmptyMessage="Type to Select..." runat="server" Width="500px" EnableLoadOnDemand="true" ShowMoreResultsBox="true" EnableVirtualScrolling="true" OnSelectedIndexChanged="qfTicket_cmbJob_SelectedIndexChanged" >
<WebServiceSettings Method="GetJobs" Path="~/Portal/Ajax/COGS.asmx" />
</telerik:RadComboBox>
</span>
<span runat="server" id="spTicketDropdown" visible='<%# DataBinder.Eval(Container.DataItem, "ModuleDataKey").ToString().ToLower() == "ticket" ? true : false %>'>
<telerik:RadComboBox DropDownAutoWidth="Enabled" RenderMode="Lightweight" ID="cmbTicket" EmptyMessage="Type to Select..." runat="server" Width="333px" ClientIDMode="Static" EnableLoadOnDemand="true" ShowMoreResultsBox="true" EnableVirtualScrolling="true" OnSelectedIndexChanged="cmbTicket_SelectedIndexChanged" AutoPostBack="true" >
<WebServiceSettings Method="GetTickets" Path="~/Portal/Ajax/COGS.asmx" />
</telerik:RadComboBox>
</span>
</span>
<span runat="server" id="spActivity" visible='<%# DataBinder.Eval(Container.DataItem, "ModuleDataKey").ToString().ToLower() == "activity" ? true : false %>'>
Asset  
<asp:DropDownList runat="server" ID="ddlAssets" ForeColor="Black" Font-Size="Small"></asp:DropDownList>
Date <i class="s7-date" style="font-size:x-large;display:inline"></i><asp:TextBox runat="server" ID="txtReportDate" ClientIDMode="Static" Font-Size="Small" ForeColor="Black" CssClass="datepicker" placeholder="m/d/yyyy" ></asp:TextBox>
</span>
</div>
<div runat="server" id="SelectedFilter" style="background-color:#fff2d7; color:black;padding-left:10px" ><telerik:RadLabel runat="server" ID="filterName" Font-Size="Small"></telerik:RadLabel></div>
</div>
<div class="panel-body" style="padding-top:10px">
<br />
<asp:HiddenField ID="hfModule" Value='<%#Eval("ModuleDataKey") %>' runat="server" />
<asp:PlaceHolder ID="phRow" runat="server"></asp:PlaceHolder>
</div>
</div>
</div>
</div>
</div>
</ItemTemplate>
</telerik:RadListView>
</telerik:RadAjaxPanel>
Here is my EventHandler:
private void JobFilterControl_CustomJobFilterSaved(object sender, EventArgs e)
{
foreach (RadListViewItem item in radlistview1.Items)
{
string module = ((HiddenField)item.FindControl("hfModule")).Value;
RadLabel filterName = item.FindControl("filterName") as RadLabel;
switch (module)
{
case "JOB":
filterName.Text = "Selected Filter: " + Session["SavedJobFilterName"].ToString();
break;
case "TICKET":
filterName.Text = "Selected Filter: All";
break;
}
}
}
All of the code works as expected except that the Label Text does not update. Is there anyting I can do to get this to work? Any assistance is greatly appreciated.

Hi,
I have written the following function to sort numbers in my Rad Grid. The output of this function shows up correctly when I push it in a array and view the result while debugging but when afte the dataBind event the data shows up in Grid, the data sort order is wrong.
For example: For Descending order sort of a:150,b:100,c:100 shows up in array while debug as b:100,c:100,a:150 but in grid it shows up as c:100,a:150,b:100.
Also, The data in dataItems of Radgrid while debug in rowDataBound event shows as a:150 b:100 a:150 and not b:100 c:100 a:150 after the sort.
Method:
//Ascending
var masterTable = sender.get_masterTableView();
var items = sender.get_masterTableView().get_dataItems()
var fieldName = args.get_commandArgument();
var sortOrder;
for (var i = 0; i < sortExpressions.get_count(); i++)
{
if (sortExpressions.getItem(i).get_fieldName() == fieldName)
{
sortOrder = sortExpressions.getItem(i).get_sortOrder();
}
}
if (sortOrder == 1)
{
items.sort(function compareNumbers(a, b)
{
return Number(b._dataItem[fieldName]) - Number(a._dataItem[fieldName])
})
}
//Descending
else if (sortOrder == 2)
{
items.sort(function compareNumbers(a, b)
{
return Number(a._dataItem[fieldName]) - Number(b._dataItem[fieldName])
})
}
masterTable.dataBind()
}
Regards
Agasthya
The documentation says I can include more than the one column in the search of my DataTable by using the DataKeyNames property. Maybe I am not understanding but its not working. I have my DataTextField column set to "Name" and my DataKeyNames set to "Alias". I expected the search to go against the Name column and the Alias column but it seems to be only searching the Name column.
Does not get any simpler scenario than this so I must not be understanding how DataKeyNames works.
DataTable columns: Id, Name, Alias
<telerik:RadSearchBox ID="requestSearchBox" runat="server" Width="400" CssClass="SearchBox" EnableAutoComplete="true"
DataValueField ="Id"
DataKeyNames= "Alias"
DataTextField="Name">
</telerik:RadSearchBox>
Brian

GRID : A <telerik:RadGrid RenderMode="Lightweight" ID="ParkingLockSytemGrid" OnItemCommand="ParkingLockSytemGrid_ItemCommand" skin="Silk" runat="server" Width="800" PagerStyle-AlwaysVisible="true" OnNeedDataSource="ParkingLockSytemGrid_NeedDataSource" AllowSorting="true" AllowPaging="false" AllowFilteringByColumn="false"> <MasterTableView AutoGenerateColumns="False" AllowAutomaticInserts="true" DataKeyNames="ID" CommandItemDisplay="Top" ShowHeader="true" EnableColumnsViewState="true" PagerStyle-AlwaysVisible="true"> <CommandItemSettings ShowAddNewRecordButton="false" ShowRefreshButton="true" /> <Columns> <telerik:GridEditCommandColumn UniqueName="EditCommandColumn"> <ItemStyle Width="50px"></ItemStyle> </telerik:GridEditCommandColumn> <telerik:GridTemplateColumn UniqueName="ImageName" SortExpression="Name"> <ItemTemplate> <img alt="" src="<%#Eval(" Icon ") %>" /> </ItemTemplate> <EditItemTemplate> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="DeviceName" HeaderText="Device Name" SortExpression="DeviceName" UniqueName="DeviceName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ZoneName" HeaderText="Zone" SortExpression="Zone" UniqueName="Zone"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="GeneralState" HeaderText="State" SortExpression="State" UniqueName="State"> </telerik:GridBoundColumn> <telerik:GridButtonColumn Text="Delete" CommandName="Delete" /> </Columns> </MasterTableView> <ClientSettings EnablePostBackOnRowClick="true" AllowRowsDragDrop="True" AllowColumnsReorder="true" ReorderColumnsOnClient="true"> <Selecting AllowRowSelect="True" EnableDragToSelectRows="false"></Selecting> <ClientEvents OnRowDropping="demo.onRowDropping"></ClientEvents> <Scrolling AllowScroll="true" UseStaticHeaders="true"></Scrolling> </ClientSettings> </telerik:RadGrid><telerik:RadGrid RenderMode="Lightweight" ID="ApplianceLogsGrid" runat="server" Skin="Silk" OnNeedDataSource="ApplianceLogsGrid_NeedDataSource" AllowSorting="true" AllowPaging="false"> <MasterTableView ShowHeader="true" ShowHeadersWhenNoRecords="true" CssClass="table table-striped table-hover" AutoGenerateColumns="False" AllowPaging="false" DataKeyNames="EntityID" PageSize="7"> <Columns> <telerik:GridEditCommandColumn UniqueName="EditCommandColumn"> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn DataField="UserName" HeaderText="User Name" SortExpression="UserName" UniqueName="UserName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Timestamp" HeaderText="Date Time" SortExpression="Date" UniqueName="DateTime"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="UserID" HeaderText="User ID" SortExpression="UserID" UniqueName="UserID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="OperationName" HeaderText="Operation" SortExpression="Operation" UniqueName="LogOperation"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Parameters" HeaderText="Log Description" SortExpression="Description" UniqueName="LogDescription"> </telerik:GridBoundColumn> <telerik:GridButtonColumn Text="Delete" CommandName="Delete" /> </Columns> </MasterTableView></telerik:RadGrid>
Here is event Code !
protected void ParkingLockSytemGrid_ItemCommand(object sender, GridCommandEventArgs e) { switch (e.CommandName) { case "RowClick": GridDataItem dataItem = e.Item as GridDataItem; Response.Redirect("~/ParkDeviceDetails.ascx?id=" + dataItem["UniqueName"].Text); break; default: break; } }
This does not work i get error : Cannot find a cell bound to column name 'UniqueName'
i tried changing to ID or entityid but nothing !!, what am I doing wrong here , can somebody help? thanks
I want to create a team scheduler in which will show:
1. Days for One from .
2. Each as per user.
3. Weekends marked in .
4. Leaves marked in blue .
Please guide for the same.