treeNode.startEdit();
in the oncontextmenuedit click, but is coming into the edit mode, immediately it is going into the normal non editable mode. what is the wrong i am doing?
thanks,
Mohinder Goswami.
I have a page that contains a RadWindow with RadPageViews. When the window is loaded it dynamically creates a pageview and adds a user control that contains a RadEditor control. Everything loads fine however it is throwing a javascript error "c.parentNode is null" after the page is saved.
After doing some debugging it looks like it is occuring when the dispose method is called for the RadEditor. Any help is appreciated.
On Load: c.parentNode = ctl00_ContentPlaceHolder1_RadWindow1_C_PageComponent1_RadEditor1Center
Protected Sub RadMultiPage1_PageViewCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadMultiPageEventArgs) Handles RadMultiPage1.PageViewCreated
Dim pageComponent As PageComponent = LoadControl("Editor.ascx") pageComponent.BindData() e.PageView.Controls.Add(pageComponent) End Subusing System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Telerik.Web.UI;namespace GridPopUpTest{ public partial class ParentForm : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }}<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ParentForm.aspx.cs" Inherits="GridPopUpTest.ParentForm" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %><!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> <link href="Styles/Site.css" rel="stylesheet" type="text/css" /> <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> </head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <script type="text/javascript"> function OnClientButtonClicking(sender, eventArgs) { var button = eventArgs.get_item(); alert(button.get_text()); if (eventArgs.get_item().get_value() == "NoPopUp") { //eventArgs.set_cancel(true); HideModalPopup(); } if (eventArgs.get_item().get_value() == "PopUp") { //eventArgs.set_cancel(true); ShowModalPopup(); } } function ShowModalPopup() { $find("ModalBehaviour1").show(); } function HideModalPopup() { $find("ModalBehaviour1").hide(); } function JobsRowSelected(sender, args) { var id = args.get_id(); var inputCheckBox = $get(id).getElementsByTagName("input")[0]; if (!inputCheckBox) { args.set_cancel(true); } if (inputCheckBox.checked == true) { inputCheckBox.checked = false; } else { inputCheckBox.checked = true; } } </script> <div> <telerik:RadToolBar ID="RadToolBar1" runat="server" OnClientButtonClicking="OnClientButtonClicking"> <Items> <telerik:RadToolBarButton Text="NoPopUp" Value="NoPopUp" ></telerik:RadToolBarButton> <telerik:RadToolBarButton Text="OpenpopUp" Value="PopUp"></telerik:RadToolBarButton> </Items> </telerik:RadToolBar> <asp:Panel runat="server" ID="pnldtls"> <table> <tr> <td>Name</td> <td><asp:TextBox ID="txtName" runat="server"></asp:TextBox></td> </tr> <tr> <td><asp:Button ID="btnOk" Text="Ok" runat="server" /></td> <td><asp:Button ID="btnCancel" Text="Cancel" runat="server" /></td> </tr> </table> </asp:Panel> <cc1:modalpopupextender id="ModalPopupExtender1" runat="server" BehaviorID="ModalBehaviour1" cancelcontrolid="btnCancel" okcontrolid="btnOk" BackgroundCssClass="ModalPopupBG" targetcontrolid="RadToolBar1" popupcontrolid="pnldtls" DropShadow="false"></cc1:modalpopupextender> </div> </form></body></html>In trying out the the ListView / Appending Data demo. The demo works well inside an asp.net solution. However, when we attempt to port this into a dotnetnuke module using its Telerik.dll - 2012.1.411.35 - The scripting fails with this error "Unable to get value of the property 'get_dataSource': object is null or undefined Home.aspx, line 756 character 21" With experimenting Setting "currentItemCount = 0" and the script fails at ' listView.set_virtualItemCount(listViewData._totalCount);'
Any suggestions are appreciated,
Cheers.
<div> <!-- content start -->
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript" >
var listView,
$,
autoLoadInterval,
isMouseOver,
animationDuration = 500,
updateInterval = 4000;
function pageLoad() {
$ = $telerik.$;
listView = $find("RadListViewDataBinding");
listView1 = $find("RadListView1");
//append 4 items initially
appendListViewData(4);
//append 3 more items every time the more results button is clicked
$("#more").click(function () { appendListViewData(3); });
//toggle auto-load on click
$("#autoLoad").click(toggleAutoLoad);
$("#scrollArea") //prevent auto-loading if mouse is over scroll area
.mouseenter(function () { isMouseOver = true; })
.mouseleave(function () { isMouseOver = false; })
}
function appendListViewData(itemCount) {
//YouTube search videos feed URL
var youtubeFeedUrlFormat = "https://gdata.youtube.com/feeds/api/videos?author=telerikinc&alt=json-in-script&start-index={0}&max-results={1}",
currentItemCount = listView1.get_dataSource() ? listView.get_dataSource().length : 0,
startIndex = currentItemCount + 1;
//jQuery.ajax reference: http://api.jquery.com/jQuery.ajax/
$.ajax({
type: "GET",
url: String.format(youtubeFeedUrlFormat, startIndex, itemCount),
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: onYouTubeRequestSuccess,
error: function () { throw new Error(arguments[1]); }
});
}
function onYouTubeRequestSuccess(result) {
var listViewData = mapListViewData(result);
listView.set_virtualItemCount(listViewData._totalCount);
animateScrollContainer(listViewData.length, function () {
listView.appendData(listViewData);
});
}
function animateScrollContainer(appendedItemCount, callback) {
var scrollArea = $("#scrollArea")[0],
$items = $("#itemContainer"),
singleItemHeight = 102,
addedHeight = appendedItemCount * singleItemHeight;
//jQuery.animate referece: http://api.jquery.com/animate/
$items.css("height", $items.height() + "px")
.animate({ height: "+=" + addedHeight + "px" },
{
duration: animationDuration,
step: function () {
scrollArea.scrollTop = scrollArea.scrollHeight;
},
complete: function () {
callback();
$items.css("height", "");
scrollArea.scrollTop = scrollArea.scrollHeight;
}
});
}
function mapListViewData(result) {
var data = [],
items = result.feed.entry;
for (var i = 0; i < items.length; i++) {
var item = items[i];
data[data.length] = {
title: item.title.$t,
description: formatDescription(item.content.$t),
link: item.link[0].href,
author: item.author[0].name.$t,
published: new Date(item.published.$t.split("T")[0].replace(/-/gi, "/")),
views: item.yt$statistics.viewCount,
thumb: item.media$group.media$thumbnail[2].url,
duration: formatThumbTime(item.media$group.media$content[0].duration)
};
//prefetch thumbnail image
(new Image()).src = data[data.length - 1].thumb;
}
data._totalCount = result.feed.openSearch$totalResults.$t;
return data;
}
function formatDescription(description) {
//split the text into words and take the first 25.
return description.split(" ").splice(0, 25).join(" ") + " <b>...</b>";
}
function formatThumbTime(time) {
var mins = Math.floor(time / 60),
secs = time % 60,
hours = Math.floor(mins / 60);
return hours ?
hours + ":" + mins + ":" + secs :
mins + ":" + secs;
}
function toggleAutoLoad() {
if (autoLoadInterval) {
clearInterval(autoLoadInterval);
autoLoadInterval = null;
$(this).html("Auto-Load");
updateButtonsVisiblity();
}
else {
$(this).html("Stop");
appendListViewData(1);
autoLoadInterval = setInterval(function () {
if (!isMouseOver) {
appendListViewData(1);
}
}, updateInterval);
updateButtonsVisiblity();
}
}
function updateButtonsVisiblity() {
var itemCount = listView.get_dataSource().length,
totalCount = listView.get_virtualItemCount();
if (itemCount >= totalCount) {
$("#more").css("visibility", "hidden");
$("#autoLoad").css("visibility", "hidden");
}
else {
if (autoLoadInterval) {
$("#more").css("visibility", "hidden");
}
else {
$("#more").css("visibility", "visible");
$("#autoLoad").css("visibility", "visible");
}
}
}
</script>
</telerik:RadScriptBlock>
<h2>Telerik on YouTube</h2>
<telerik:RadListView ID="RadListViewDataBinding" runat="server">
<LayoutTemplate>
<div id="telerikVideos">
<div id="scrollArea">
<div id="itemContainer">
</div>
</div>
</div>
<a id="autoLoad" href="javascript:void(0)" class="ybutton">Auto-Load</a>
<a id="more" class="ybutton" href="javascript:void(0)">Show more results</a>
</LayoutTemplate>
<ClientSettings>
<DataBinding ItemPlaceHolderID="itemContainer"> <ItemTemplate>
<div class="item">
<div class="thumb">
<a href="#= link #" target="_blank">
<img src="#= thumb #" />
<span class="time">#= duration #</span>
</a>
</div>
<div class="content">
<h3>
<a href="#= link #" target="_blank">#= title #</a>
</h3>
<div class="description">
#= description #
</div>
<div class="details">
<span class="author">
by <a href="http://www.youtube.com/user/#= author #" target="_blank">
#= author #
</a>
</span>
<span class="sep">|</span>
<span class="published">
#= format(published, "d") #
</span>
<span class="sep">|</span>
<span class="views">
#= views # views
</span>
</div>
</div>
</div>
</ItemTemplate>
</DataBinding>
<ClientEvents OnDataBound="updateButtonsVisiblity" />
</ClientSettings>
</telerik:RadListView>