<AdvancedInsertTemplate> <div class="rsAdvancedEdit rsAdvancedModal" style="position: relative; width:560px; left: 30%;"> <div class="rsModalBgTopLeft"> </div> <div class="rsModalBgTopRight"> </div> <div class="rsModalBgBottomLeft"> </div> <div class="rsModalBgBottomRight"> </div> <div class="rsAdvTitle"> <h1 class="rsAdvInnerTitle"> <%#Container.Appointment.Owner.Localization.AdvancedNewAppointment%> </h1> <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false" CommandName="Cancel" CssClass="rsAdvEditClose" ToolTip="<%# Container.Appointment.Owner.Localization.AdvancedClose %>"> <%#Container.Appointment.Owner.Localization.AdvancedClose%></asp:LinkButton> </div> <div class="rsAdvContentWrapper"> <div style="display: inline-block"> <!-- ** --> <div style="float: left;"> <p> <telerik:RadComboBox ID="UsersComboBox" runat="server" DataSourceID="UsersDataSource" DataTextField="Fullname" DataValueField="Username" AllowCustomText="true" EnableTextSelection="false" EmptyMessage="Please select..." Filter="Contains" Label="User" SelectedValue='<%# Bind("Username") %>'> </telerik:RadComboBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="UsersComboBox" runat="server" ErrorMessage="Required"></asp:RequiredFieldValidator> <asp:CustomValidator ID="CustomValidator331" runat="server" ControlToValidate="UsersComboBox" ClientValidationFunction="validateCombo" ValidateEmptyText="true" ErrorMessage="You cansubmit only existing name"> </asp:CustomValidator> </p> <p> <div style="display: inline-block"> <div style="float: left; width: 76px; text-align: right; padding-right: 5px; padding-top: 5px;"> <asp:Label ID="Label1" runat="server" ForeColor="#333333" Text="Start"></asp:Label> </div> <div> <telerik:RadDateTimePicker ID="StartInput" runat="server" Culture="en-NZ" SelectedDate='<%# Bind("Start") %>'> <TimeView CellSpacing="-1" Culture="en-NZ" EndTime="17:30:00" Interval="00:30:00" RenderDirection="Vertical" StartTime="08:30:00"> </TimeView> <TimePopupButton HoverImageUrl="" ImageUrl="" /> <Calendar UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" ViewSelectorText="x"> </Calendar> <DateInput DateFormat="d/MM/yyyy" DisplayDateFormat="d/MM/yyyy"> </DateInput> <DatePopupButton HoverImageUrl="" ImageUrl="" /> </telerik:RadDateTimePicker> </div> </div> </p> <p> <div style="display: inline-block"> <div style="float: left; width: 76px; text-align: right; padding-right: 5px; padding-top: 5px;"> <asp:Label ID="Label2" runat="server" ForeColor="#333333" Text="End"></asp:Label> </div> <div> <telerik:RadDateTimePicker ID="EndInput" runat="server" Culture="en-NZ" SelectedDate='<%# Bind("End") %>'> <TimeView CellSpacing="-1" Culture="en-NZ" EndTime="17:30:00" Interval="00:30:00" RenderDirection="Vertical" StartTime="08:30:00"> </TimeView> <TimePopupButton HoverImageUrl="" ImageUrl="" /> <Calendar UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" ViewSelectorText="x"> </Calendar> <DateInput DateFormat="d/MM/yyyy" DisplayDateFormat="d/MM/yyyy"> </DateInput> <DatePopupButton HoverImageUrl="" ImageUrl="" /> </telerik:RadDateTimePicker> </div> </div> </p> <p> <div style="display: inline-block"> <div style="float: left; width: 76px; text-align: right; padding-right: 5px; padding-top: 5px;"> <asp:Label ID="Label3" runat="server" ForeColor="#333333" Text="Permanent"></asp:Label> </div> <div> <asp:CheckBox ID="chkPerm" runat="server" /> <asp:HiddenField ID="hidPerm" runat="server" Value='<%# Bind("Perman") %>' /> </div> </div> </p> <p> <telerik:RadComboBox ID="StatusComboBox" runat="server" DataSourceID="StatusDataSource" DataTextField="Status" DataValueField="StatusId" Label="Status" SelectedValue='<%# Bind("StatusId") %>' Visible="false"> </telerik:RadComboBox> </p> </div> <!-- ** --> <div> <telerik:RadTextBox ID="DescriptionTextBox" runat="server" Columns="30" Label="Notes" Rows="4" Text='<%# Bind("Description") %>' TextMode="MultiLine"> </telerik:RadTextBox> </div> </div> <asp:Panel ID="Panel1" runat="server" CssClass="rsAdvancedSubmitArea"> <div class="rsAdvButtonWrapper"> <asp:LinkButton ID="UpdateButton" runat="server" CommandName="Insert" CausesValidation="true" CssClass="rsAdvEditSave"> <span><%# Container.Appointment.Owner.Localization.Save%></span></asp:LinkButton> <asp:LinkButton ID="CancelButton" runat="server" CausesValidation="false" CommandName="Cancel" CssClass="rsAdvEditCancel"> <span><%# Container.Appointment.Owner.Localization.Cancel%></span> </asp:LinkButton> </div> </asp:Panel> </div> </div> </AdvancedInsertTemplate><input type="hidden" value="test"></input><ClientSettings AllowGroupExpandCollapse="True" ReorderColumnsOnClient="false" AllowDragToGroup="false"
AllowColumnsReorder="false" EnablePostBackOnRowClick="true" >
<ClientEvents OnRowDblClick="RowDblClick" />
</ClientSettings>
Dim editor As New Telerik.Web.UI.RadEditor editor.EditModes = EditModes.Design Dim toolGroup As New Telerik.Web.UI.EditorToolGroup editor.Tools.Add(toolGroup) Dim bold As New Telerik.Web.UI.EditorTool bold.Name = "Bold"bold.Text = HttpContext.GetGlobalResourceObject("Global", "editorBold") toolGroup.Tools.Add(bold)
Hi,
I implemented a treeview using webservice in a web page and it worked ok. the treeview is simple as follows:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CategoryTreeView.aspx.cs" Inherits="iBOOKSTORE.CategoryTreeView" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<!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">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<telerik:RadTreeView ID="tvClass" runat="server" Height="400px" Width="500px"
Skin="Windows7" CheckBoxes="True" CheckChildNodes="True">
<WebServiceSettings Path="CategoryTreeView.aspx" Method="GetClassItems" />
</telerik:RadTreeView>
</div>
</form>
</body>
</html>
the webmethod "GetClassItems" worked fine.
but when I convert it into a usercontrol like the following:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserTreeView.ascx.cs" Inherits="iBOOKSTORE.UserTreeView" %><%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <div> <telerik:RadTreeView ID="tvClass" runat="server" Height="400px" Width="500px" Skin="Windows7" CheckBoxes="True" CheckChildNodes="True"> <WebServiceSettings Path="UserTreeView.ascx" Method="GetClassItems" /> </telerik:RadTreeView> </div>there is no difference between server side Methods. And I drag this usercontrol "UserTreeView.ascx" and drop it on a web page at the same directory. The treeview loaded ok by calling a server side function which returned a datatable. but when I click open a node, an error message popped up "GetClassItems Failed". I tried to set a break point in the WebMethod "GetClassItems", the execution never got inside. I suppose this must have something to do with the Path property. I purposely place the host page and usercontrol in the same directory, but no matter what I tried the same error occured. could you provide some advice please.
Thank you.
I send the server side code as well
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Drawing.Drawing2D;using System.Web.Services;using Telerik.Web.UI;using System.Web.UI.HtmlControls;namespace iBOOKSTORE{ public partial class UserTreeView : System.Web.UI.UserControl { static DataTech.AspNet.Data.dtAspNetDataSource ds = null; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { ds = new DataTech.AspNet.Data.dtAspNetDataSource(); LoadRootNodes(tvClass, TreeNodeExpandMode.WebService); } } private static void LoadRootNodes(RadTreeView treeView, TreeNodeExpandMode expandMode) { SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "SELECT DPTCODE,DPTNAME FROM DEPARTMENT WHERE LEFT(DPTCODE,1) <>'-' ORDER BY DPTCODE "; cmd.CommandTimeout = 0; DataTable data = GetData(cmd); foreach (DataRow row in data.Rows) { RadTreeNode node = new RadTreeNode(); node.Text = row["DPTNAME"].ToString(); node.Value = row["DPTCODE"].ToString(); node.ExpandMode = expandMode; treeView.Nodes.Add(node); } } private static DataTable GetData(SqlCommand sqlcmd) { return (ds.GetDataRows(sqlcmd, "", "", 0, int.MaxValue)); } private static DataTable GetChildNodes(string parentId) { SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "SELECT SUBSTRING(pc1.CLSCODE,1," + (parentId.Trim().Length + 1).ToString() + ") AS PCODE,pc1.PCODE,pc1.CLSCODE,pc1.CLSNAME,ISNULL(pc2.ChildrenCount, 0) as ChildrenCount FROM CLASS AS pc1 " + " LEFT JOIN ( SELECT PCODE, COUNT(*) AS ChildrenCount FROM CLASS GROUP BY PCODE) AS pc2" + " ON SUBSTRING(pc1.CLSCODE,1," + (parentId.Trim().Length + 1).ToString() + ")=pc2.PCODE WHERE pc1.PCODE='" + parentId.Trim() + "'"; cmd.CommandTimeout = 0; return GetData(cmd); } private void UpdateLoadingStatusPosition(TreeViewLoadingStatusPosition statusPosition) { tvClass.LoadingStatusPosition = statusPosition; } [WebMethod] public static RadTreeNodeData[] GetClassItems(RadTreeNodeData node) { DataTable data = GetChildNodes(node.Value); List<RadTreeNodeData> result = new List<RadTreeNodeData>(); foreach (DataRow row in data.Rows) { RadTreeNodeData childNode = new RadTreeNodeData(); childNode.Text = row["CLSNAME"].ToString(); childNode.Value = row["PCODE"].ToString(); if (Convert.ToInt32(row["ChildrenCount"]) > 0) { childNode.ExpandMode = TreeNodeExpandMode.WebService; } result.Add(childNode); } return result.ToArray(); } }}