This is the only thing I have been successful with to get the Literal object...
function onNodeClicking(sender, args) { alert("OnClientNodeClicking: " + args.get_node().get_text()); <-- works var literalContent = $('#helpContentHolder'); <-- returns generic object, how to cast? var tree = <%= ctrlHelpRadTreeView.ClientID %>; <-- returns HTMLDivElement ?? }All the client side events below are in place and working...
<telerik:RadTreeView ID="ctrlHelpRadTreeView" runat="server" CheckBoxes="True" AllowNodeEditing="True" EnableDragAndDrop="true" OnClientNodeClicking="onNodeClicking" OnClientNodeChecking="onNodeChecking" OnClientMouseOver="onMouseOver" OnClientMouseOut="onMouseOut" OnClientNodeEditStart="onEditStart" OnClientNodeEditing="onEditing" OnClientNodeEdited="onEdited" OnClientNodeDragStart="onNodeDragStart" OnClientNodeDropping="onNodeDropping" OnClientNodeExpanded="onNodeExpanded" OnClientNodeCollapsed="onNodeCollapsed" OnClientNodeAnimationEnd="onNodeAnimationEnd" OnClientLoad="onLoad" BeforeClientClick="BeforeClientClickHandler" Width="100%" Height="250px" Style="border: 1px solid #CBE7F5;"> ......... </telerik:RadTreeView>So the handler I am anticipating and have been working with is the OnNodeClicked.
Can anyone shed some light on how I get the literal and set it's text to the databound object in the TreeView?
The attached file shows how I am adapting it from a demo here on the site. The TreeView is not databound at this time. The image is intended to show the two panes side by side (again, inside the user control). The Literal control is visible in the right panel inside the user control.
Thanks!
Reid
Hi.
I know this is a general asp.net question, but I think it's very relavant here:
Is there a way to use <telerik:??? serverside controls in a jquery template.
Ex: A guestbook with comments to each entry.
If I create a set of nested templates for the messages and comments, I would like to use a "Comment" RadButton in the messages template so that each entry would have a "Comment" button. And.. maybe a rating control.
I just can't see how I can use anything but HTML.controls in my templates.
Is there a solution to that.
Thanks
/Jesper
<telerik:RadRibbonBar ID="Menu" runat="server"> ...</telerik:RadRibbonBar><telerik:RadAjaxLoadingPanel ID="LoadingPanel" runat="server" /><telerik:RadAjaxManagerProxy ID="AjaxManager" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="??? RadListViewID of each Day user Control ???"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="Menu" LoadingPanelID="LoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManagerProxy><uc1:Week ID="Week" runat="server" OnActivitySelectionChanged="Week_SelectionChanged" /><uc1:Day ID="Sunday" runat="server" Day="Sunday" OnActivitySelectionChanged="OnActivitySelectionChanged" /><uc1:Day ID="Monday" runat="server" Day="Sunday" OnActivitySelectionChanged="OnActivitySelectionChanged" /><uc1:Day ID="Tuesday" runat="server" Day="Sunday" OnActivitySelectionChanged="OnActivitySelectionChanged" /><uc1:Day ID="Wednesday" runat="server" Day="Sunday" OnActivitySelectionChanged="OnActivitySelectionChanged" /><uc1:Day ID="Thursday" runat="server" Day="Sunday" OnActivitySelectionChanged="OnActivitySelectionChanged" /><uc1:Day ID="Friday" runat="server" Day="Sunday" OnActivitySelectionChanged="OnActivitySelectionChanged" /><uc1:Day ID="Saturday" runat="server" Day="Sunday" OnActivitySelectionChanged="OnActivitySelectionChanged" /><telerik:RadListView ID="lvDay" runat="server" onselectedindexchanged="lvDay_SelectedIndexChanged" AllowMultiItemSelection="true"></telerik:RadListView>public event EventHandler ActivitySelectionChanged;protected void OnActivitySelectionChanged(EventArgs e){ if (ActivitySelectionChanged != null) ActivitySelectionChanged(this, e);}protected void DayListView_SelectedIndexChanged(object sender, EventArgs e){ OnActivitySelectionChanged(e);}function onclick(event) { if(!$find('').fireCommand('DownloadAttachment','{"FileID":5,"ColumnUniqueName":"FileName","FileName":"Hydrangeas.jpg"}')) return false; }<%
@ Page Language="C#" AutoEventWireup="true" CodeBehind="ASPXPage1.aspx.cs" Inherits="LoadPlanner.ASPXPage1" %>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head runat="server">
<title></title>
</
head>
<
body>
<form id="form1" runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>
<script type="text/jscript">
function menuClick(sender, eventArgs) {
var item = eventArgs.get_item();
var text = item.get_text();
switch (text) {
case "New":
// ask 'Save changes?', clear form
break;
case "Open ...":
// open file dialog in new window
OpenFileExplorerDialog();
break;
}
return false;
}
function OpenFileExplorerDialog() {
var wnd = $find("<%= ExplorerWindow.ClientID %>");
wnd.show();
}
</script>
<div id="pageContainer">
<!-- Page Header -->
<telerik:RadMenu ID="RadMenu2" runat="server" onclientitemclicked="menuClick">
<Items>
<telerik:RadMenuItem runat="server" Text="File">
<Items>
<telerik:RadMenuItem runat="server" Text="New">
</telerik:RadMenuItem>
<telerik:RadMenuItem runat="server" Text="Open ...">
</telerik:RadMenuItem>
</Items>
<GroupSettings Flow="Horizontal" />
</telerik:RadMenuItem>
</Items>
</telerik:RadMenu>
</div>
<telerik:RadWindow runat="server" Width="400px" Height="400px"
VisibleStatusbar="false" NavigateUrl="~/LoadPlans" ID="ExplorerWindow"
Modal="true" Behaviors="Close,Move" ViewStateMode="Disabled">
</telerik:RadWindow>
</form>
</
body>
</
html>
if
(this._dockMode){var k=$get(this.get_id()+"_C");
if
(k&&k.innerHTML){k.style.overflow="auto";
k.style.border=
"0px";
this
.set_contentElement(k);
this
.setWidthDockMode(this.get_width());
this
.setHeightDockMode(this.get_height());
///////////////////// my highlighting - offending statement shown in bold
}}
else{var o=($telerik.isIE)?document.createElement("<iframe name='"+c+"'>"):document.createElement("iframe");
o.name=c;
o.src=
"javascript:'<html></html>';";
o.style.width=
"100%";
o.style.height=
"100%";
o.style.border=
"0px";
o.frameBorder=
"0";
<Scrolling AllowScroll="true" UseStaticHeaders="true" />)| <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> |
| <script type="text/javascript"> |
| function ClientResized(sender, eventArgs) { |
| $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest('ChangePageSize'); |
| } |
| </script> |
| <telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGrid1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManagerProxy> |
| <telerik:RadSplitter ID="RadSplitter1" Width="100%" Height="100%" runat="server" Orientation="Horizontal" BorderSize="0" BorderStyle="None" PanesBorderSize="0" VisibleDuringInit="false"> |
| <telerik:RadPane ID="gridPane" runat="server" Width="100%" Height="60%" Scrolling="None" OnClientResized="ClientResized"> |
| <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" GridLines="None" Width="100%" Height="100%" UseStaticHeaders="true" Style="border: 0; outline: none"> |
| <ClientSettings><Scrolling AllowScroll="true" UseStaticHeaders="true" /></ClientSettings> |
| <MasterTableView> |
| </MasterTableView> |
| </telerik:RadGrid> |
| </telerik:RadPane> |
| <telerik:RadSplitBar CollapseMode="Both" ID="RadSplitBar2" runat="server" EnableResize="True"></telerik:RadSplitBar> |
| <telerik:RadPane ID="listBoxPane" runat="server" BackColor="#d9eeff" Height="40%"> |
| Bottom Pane |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| </asp:Content> |
Hi Telerik experts,
Was wondering if I could get some help on this issue.
Have a Control Panel page with multiple 'filter' buttons.
What we want to do is put multiple Grids onto this single page
and hide/show them based on what 'filter' button is clicked.
(For reasons having to do with another issue I was having,
it's actually the Grid inside the Control that is being
shown/hidden.)
We do this by puttingmultiple User Controls (.ascx) on the page, each of which contains a Grid
and a RadCodeBlock with javascript to do client-side binding.
The issue is as follows:
You start the app, go to Control Panel page.
It defaults to 'Button1', shows the Grid1, and it works fine. The User Control loads, the Grid inside
the control is Data Bound.
The problem is when you click 'Button 2' and it tries to load a different control.
The Grid fails to databind. Checking the output I can see that the client side binding javascript
for the new control is there/compiled.
weird thing is, it only fails to bind the 'second time'.
After that, if you click 'Button 2' again (or any other button first then click 'Button 2'),
the Grid binds and displays correctly.
Each User Control looks something like this:
<telerik:RadCodeBlock ID="RadCodeBlock2" runat="server">
<script type="text/javascript">
var headerView = null;
var commandName = "";
var entityTypeID = 3;
var entityID = 154;
var detailsView = null;
function m_rgPickupRequests_controlLoad(sender, args) {
/*
headerView = $find("<%= m_rgPickupRequests.ClientID %>").get_masterTableView();
commandName = "Load";
updateHeaderVirtualItemCount(0);
var s = headerView.get_sortExpressions().toString();
var filterState = $get("<%= m_hdnStateButtonType.ClientID %>").value;
totalcontrol.Service.RequestsService.GetPickupRequestGridContents(
entityTypeID,
entityID,
filterState,
headerView.get_currentPageIndex() * headerView.get_pageSize(),
headerView.get_pageSize(),
headerView.get_sortExpressions().toString(),
headerView.get_filterExpressions().toString(),
updateHeaderGrid);
*/
}
function m_rgPickupRequests_Command(sender, args) {
args.set_cancel(true);
commandName = args.get_commandName();
var filterState = $get("<%= m_hdnStateButtonType.ClientID %>").value;
totalcontrol.Service.RequestsService.GetPickupRequestGridContents(
entityTypeID,
entityID,
filterState,
headerView.get_currentPageIndex() * headerView.get_pageSize(),
headerView.get_pageSize(),
headerView.get_sortExpressions().toString(),
headerView.get_filterExpressions().toString(),
updateHeaderGrid);
}
function m_rgPickupRequests_RowDataBound(sender, args) {
var description = args.get_dataItem()["Description"];
var cell = args.get_item().get_cell("Description");
cell.style.cursor = 'pointer';
setToolTip(cell, description);
}
function setToolTip(element, description) {
var radToolTipManager = $find('<%= Parent.FindControl("m_rttToolTipManager").ClientID %>');
if (!radToolTipManager) {
return;
}
var tooltip = radToolTipManager.getToolTipByElement(element);
if (!tooltip) {
tooltip = radToolTipManager.createToolTip(element);
}
}
function updateHeaderGrid(result) {
headerView.set_dataSource(result);
headerView.dataBind();
var filterState = $get("<%= m_hdnStateButtonType.ClientID %>").value;
if (commandName == "Filter" || commandName == "Load") {
totalcontrol.Service.RequestsService.GetRequestGridContentsCount(
entityTypeID,
entityID,
filterState,
headerView.get_filterExpressions().toString(),
updateHeaderVirtualItemCount);
}
}
function updateHeaderVirtualItemCount(result) {
headerView.set_virtualItemCount(result);
}
</script>
</telerik:RadCodeBlock>
<asp:ScriptManagerProxy ID="ScriptManager2" runat="server">
<Services>
<asp:ServiceReference Path="~/Services/RequestService.svc" />
</Services>
</asp:ScriptManagerProxy>
<asp:HiddenField ID="m_hdnStateButtonType" runat="server" />
<telerik:RadGrid ID="m_rgPickupRequests" runat="server" AllowFilteringByColumn="true">
<MasterTableView>
<Columns>
<....GridBoundsColumns....>
</Columns>
</MasterTableView>
<ClientSettings>
<ClientEvents OnCommand="m_rgPickupRequests_Command"
OnGridCreated="m_rgPickupRequests_controlLoad"
OnRowDataBound="m_rgPickupRequests_RowDataBound"
/>
</ClientSettings>
</telerik:RadGrid>
Control Panel is something like so:
<asp:Panel ID="m_pnlFilters" runat="server" CssClass="clear">
<fieldset>
<table style="display:inline">
<tr>
<th>
Filter by Site/Department
</th>
</tr>
<tr>
<td>
<telerik:RadTreeView ID="m_rtvEntities" runat="server" CheckBoxes="true"
CheckChildNodes="true"
TriStateCheckBoxes="true"
Width="23em"
Height="8em"
BorderStyle="Solid"
BorderColor="Gray"
BorderWidth="1px">
</telerik:RadTreeView>
</td>
</tr>
</table>
<table style="display:inline; margin-left: 2em">
<tr>
<th>
Filter by User
</th>
</tr>
<tr>
<td>
<telerik:RadButton ID="m_btnAllItems" runat="server"
Text="All Items" ToggleType="Radio" GroupName="MyItemsFilters" Width="8em" />
</td>
</tr>
<tr>
<td>
<telerik:RadButton ID="m_btnMyItems" runat="server"
Text="My Items Only" ToggleType="Radio" GroupName="MyItemsFilters" Width="8em" />
</td>
</tr>
</table>
<table style="display:inline; margin-left: 2em">
<tr>
<th colspan="3">
Filter by Status
</th>
</tr>
<tr>
<td>
<telerik:RadButton ID="button1" runat="server"
Text="Items In Use" ToggleType="Radio" GroupName="StateButtonFilters" Width="12em"
CommandName="Filter" CommandArgument="ItemsInUse" OnCommand="FilterStateButton_Command" />
</td>
<td>
<telerik:RadButton ID="button2" runat="server"
Text="Pending Pickup" ToggleType="Radio" GroupName="StateButtonFilters" Width="12em"
CommandName="Filter" CommandArgument="PendingPickup" OnCommand="FilterStateButton_Command"/>
</td>
</tr>
<table>
</fieldset>
</asp:Panel>
<asp:Panel ID="m_pnlGridContainer" runat="server">
<TC1:RequestGrid ID="m_ctlRequestGrid" runat="server" />
<TC1:PickupGrid ID="m_ctlPickupRequestGrid" runat="server" />
<TC1:QuoteGrid ID="m_ctlQuoteGrid" runat="server" />
</asp:Panel>
Any help would be appreciated. Thanks!
Richard