Hi,
I have upgraded Telerik dlls from 2012 to 2015 version and have a RadEditor issue inside a user control on Chrome.
This user control is placed inside a Modal popup within an Update panel on the parent page.
When the Radeditor is loaded, IFrame extends beyond the content body area in Design mode but it works fine in HTML mode.
If we set IFrame height to 100%, it works fine in design mode but misaligned in HTML mode(since for HTML mode Iframe height should be 0).
I have also tried to set Iframe height through javascript for different tabs but javascript function is not firing.
Please let me know how to resolve this issue.
I have a radGantt utilizing a custom C# provider. If i select a task in the gantt chart on the left and hit the delete key the code triggers the following server side event..
protected void radGanttPlanning_OnTaskDelete(object sender, TaskEventArgs e)
{
In this section of code in the code behind how would i obtain the currently selected taskId of the task I need to delete?
Here is the custom provider's getTask method just to show you the structure of the CustomTask should you need it.
public override List<ITask> GetTasks()
{
if (taskList == null)
{
List<CurrencyRates> lsCurrencyRates = CurrencyRate.GetEffectiveCurrencyRates();
var tasks = (from DataRow drDataRow in dtResultTable.Rows
select new CustomTask
{
DatabaseID = int.Parse(drDataRow["id"].ToString()),
ID = drDataRow["projecttaskid"].ToString(),
ParentID = (drDataRow["parentId"] == DBNull.Value) ? null : drDataRow["parentId"],
OrderID = int.Parse(drDataRow["OrderId"].ToString()),
Start = DateTime.Parse(drDataRow["startdate"].ToString()),
End = DateTime.Parse(drDataRow["enddate"].ToString()),
Summary = bool.Parse(drDataRow["issummarytask"].ToString()),
Title = drDataRow["taskname"].ToString(),
Active = bool.Parse(drDataRow["active"].ToString()),
PreferredStart = DateTime.Parse(drDataRow["preferredstartdate"].ToString()),
Expanded = bool.Parse(drDataRow["expandable"].ToString()),
PercentComplete = (Decimal.Parse(drDataRow["percentageComplete"].ToString())/100),
ProjectID = int.Parse(drDataRow["projectid"].ToString()),
GuidID = Guid.Parse(drDataRow["guidid"].ToString()),
PredecessorIndicies = drDataRow["predecessorIndicies"].ToString(),
SchedulingGranularity = int.Parse(drDataRow["schedulingGranularity"].ToString()),
IndentLevel = int.Parse(drDataRow["indentlevel"].ToString()),
//Effort = int.Parse(drDataRow["effort"].ToString()),
TotalActualHours = double.Parse(drDataRow["TotalActualHours"].ToString()),
IsVave = bool.Parse(drDataRow["projectisvave"].ToString()),
lsCurrencyRates = lsCurrencyRates
}).Cast<ITask>().ToList();
taskList = tasks;
}
return taskList;
}
Hi there,
I'm currently using a Radgrid with render mode auto. In Desktop browser, export button does fine. In mobile browser, if I tap filter icon, then open Filter options, but tap export not open export options . I used UI for ASP.NET AJAX Q3 2015 SP1 (version 2015.3.1111).
How can I solve this?
Kind Regards,
I'm using the ExportType.ExcelXslx to export my grid as "Xslx" file, It's working well.
Unfortunatly, when I try to export the grid as Excel file to an email, the Excel file is corrupt.
I get the e.ExportOutput and get bytes from en AsciiEncoding like I did with ExcelML export type in the GridExporting method.
var gridMemoryStream =
new
MemoryStream(
new
ASCIIEncoding().GetBytes(e.ExportOutput));
What's the proper way to get the "Xlsx" file from an RadGrid at the ExportExcel() without file corruption ?
Hi! I have a problem with rendering in RadWizardStep. I create step programmatically.During this creation i insert UserControl wich contains RadTreeView
control. Everything is fine until i expand nodes of TreeView. There is no scrollbars and a bottom part of nodes becomes invisible.
I've read the topic http://www.telerik.com/forums/height-attribute-of-radwizard, but this not works. Any suggestions to fix this issue?
Here's my code:
User Control
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TreeControl.ascx.cs" Inherits="Wizard.TreeControl" %>
<
div
>
<
telerik:RadTextBox
ClientEvents-OnLoad
=
"clientLoad"
ID
=
"RadTextBoxFilter1"
runat
=
"server"
/>
<
telerik:RadTreeView
ID
=
"RadTreeViewFilter1"
runat
=
"server"
>
<
Nodes
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Microsoft"
>
<
Nodes
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Windows"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Office"
>
</
telerik:RadTreeNode
>
</
Nodes
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Oracle"
>
<
Nodes
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Database 10g"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Data Integrator"
>
</
telerik:RadTreeNode
>
</
Nodes
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Adobe"
>
<
Nodes
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Photoshop"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Illustrator"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Premier"
>
</
telerik:RadTreeNode
>
</
Nodes
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"Telerik"
>
<
Nodes
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"1"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"2"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"3"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"4"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"5"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"6"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"7"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"8"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"9"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"10"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"11"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"12"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"13"
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
runat
=
"server"
Text
=
"14"
>
</
telerik:RadTreeNode
>
</
Nodes
>
</
telerik:RadTreeNode
>
</
Nodes
>
<
ExpandAnimation
Type
=
"None"
/>
<
CollapseAnimation
Type
=
"None"
/>
</
telerik:RadTreeView
>
</
div
>
<
script
type
=
"text/javascript"
>
var timer = null;
function clientLoad(sender) {
$telerik.$(".riTextBox", sender.get_element().parentNode).bind("keydown", valueChanging);
}
function valueChanging(sender, args) {
if(timer)
{
clearTimeout(timer);
}
timer = setTimeout(function() {
var tree = $find("<%= RadTreeViewFilter1.ClientID %>");
var textbox = $find("<%= RadTextBoxFilter1.ClientID %>");
var searchString = textbox.get_element().value;
for (var i = 0; i <
tree.get_nodes
().get_count(); i++) {
findNodes(tree.get_nodes().getNode(i), searchString);
}
}, 200);
}
function findNodes(node, searchString) {
node.set_expanded(true);
var
hasFoundChildren
=
false
;
for (var
i
=
0
; i < node.get_nodes().get_count(); i++) {
hasFoundChildren
=
findNodes
(node.get_nodes().getNode(i), searchString) || hasFoundChildren;
}
if (hasFoundChildren || node.get_text().toLowerCase().indexOf(searchString.toLowerCase()) != -1) {
node.set_visible(true);
return true;
}
else {
node.set_visible(false);
return false;
}
}
</script>
Code behind
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
namespace
Wizard
{
public
partial
class
TreeControl : System.Web.UI.UserControl
{
public
string
clientLoad {
get
;
set
; }
protected
void
Page_PreRender(
object
sender, EventArgs e)
{
if
(!
string
.IsNullOrWhiteSpace(clientLoad))
{
ScriptManager.RegisterStartupScript(
this
, GetType(),
"script"
,
clientLoad,
true
);
}
}
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
}
}
Wizard
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %>
<!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
>
<
telerik:RadStyleSheetManager
id
=
"RadStyleSheetManager1"
runat
=
"server"
/>
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"styles.css"
/>
<
style
type
=
"text/css"
>
.rwzContent {
height: 500px !important;
}
</
style
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
(function () {
window.pageLoad = function () {
var $ = $telerik.$;
var cssSelectors = ["accountInfo", "personalInfo", "contactDetails", "confirmation"];
var breadCrumbButtons = $(".rwzBreadCrumb .rwzLI");
for (var i = 0; i <
cssSelectors.length
; i++) {
$(breadCrumbButtons[i]).addClass(cssSelectors[i]);
}
}
window.AcceptTermsCheckBoxValidation
=
function
(source, args) {
var termsChecked = $telerik.$("input[id*='AcceptTermsCheckBox']")[0].checked;
args.IsValid
=
termsChecked
;
}
window.UserNameLenghthValidation
=
function
(source, args) {
var userNameConditions = $telerik.$(".conditions")[0];
var isValid = (args.Value.length >= 4 && args.Value.length <= 15);
args.IsValid = isValid;
$telerik.$(userNameConditions).toggleClass("redColor", !isValid);
}
window.PasswordLenghthValidation = function (source, args) {
var passwordConditions = $telerik.$(".conditions")[1];
var isValid = args.Value.length >= 6;
args.IsValid = isValid;
$telerik.$(passwordConditions).toggleClass("redColor", !isValid);
}
})();
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
div
class
=
"demo-container"
>
<
div
class
=
"wizardHeader"
></
div
>
<
telerik:RadWizard
ID
=
"RadWizard1"
runat
=
"server"
Height
=
"420px"
OnNextButtonClick
=
"RadWizard1_NextButtonClick"
OnWizardStepCreated
=
"RadWizard1_WizardStepCreated"
DisplayCancelButton
=
"True"
OnCancelButtonClick
=
"RadWizard1_CancelButtonClick"
>
<
WizardSteps
>
<
telerik:RadWizardStep
ID
=
"RadWizardStep1"
Title
=
"Your account"
runat
=
"server"
StepType
=
"Start"
ValidationGroup
=
"accountInfo"
CausesValidation
=
"true"
SpriteCssClass
=
"accountInfo"
>
<
div
class
=
"inputWapper first"
>
<
asp:Label
Text
=
"User Name: *"
runat
=
"server"
AssociatedControlID
=
"UserNameTextBox"
/>
<
telerik:RadTextBox
ID
=
"UserNameTextBox"
runat
=
"server"
ValidationGroup
=
"accountInfo"
Width
=
"320px"
></
telerik:RadTextBox
>
<
asp:CustomValidator
ID
=
"UserNameLenghthValidator"
ValidationGroup
=
"accountInfo"
runat
=
"server"
ControlToValidate
=
"UserNameTextBox"
EnableClientScript
=
"true"
ClientValidationFunction
=
"UserNameLenghthValidation"
></
asp:CustomValidator
>
<
asp:RequiredFieldValidator
ID
=
"UserNameTextBoxRequiredFieldValidator"
runat
=
"server"
ControlToValidate
=
"UserNameTextBox"
EnableClientScript
=
"true"
ValidationGroup
=
"accountInfo"
ForeColor
=
"red"
ErrorMessage
=
"required field"
CssClass
=
"validator"
></
asp:RequiredFieldValidator
>
<
span
class
=
"conditions"
>Minimum 4 characters, maximum 15 characters.</
span
>
</
div
>
<
div
class
=
"inputWapper"
>
<
asp:Label
Text
=
"Password: *"
runat
=
"server"
AssociatedControlID
=
"RadComboBox1"
/>
<
telerik:RadComboBox
ID
=
"RadComboBox1"
Runat
=
"server"
ValidationGroup
=
"accountInfo"
Width
=
"320px"
>
<
Items
>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"1"
Value
=
"1"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"2"
Value
=
"2"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"3"
Value
=
"3"
/>
</
Items
>
</
telerik:RadComboBox
>
<
asp:RequiredFieldValidator
ID
=
"PasswordTextBoxRequiredFieldValidator"
runat
=
"server"
ControlToValidate
=
"RadComboBox1"
EnableClientScript
=
"true"
ValidationGroup
=
"accountInfo"
ErrorMessage
=
"required field"
CssClass
=
"validator"
></
asp:RequiredFieldValidator
>
<
span
class
=
"conditions"
>The password has to be at least 6 characters long.</
span
>
</
div
>
</
telerik:RadWizardStep
>
</
WizardSteps
>
</
telerik:RadWizard
>
</
div
>
</
form
>
</
body
>
</
html
>
Code behind
using
System.Web.UI.WebControls;
using
System.Data;
using
System.Configuration;
using
System.Web.Security;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
Telerik.Web.UI;
using
Wizard;
public
partial
class
Default : System.Web.UI.Page
{
private
static
bool
_stepCreated =
false
;
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(IsPostBack && !_stepCreated)
{
RadWizardStep step2 =
new
RadWizardStep();
step2.ID =
"Second"
;
RadWizard1.WizardSteps.Add(step2);
RadWizardStep completeStep =
new
RadWizardStep();
completeStep.ID =
"Complete"
;
RadWizard1.WizardSteps.Add(completeStep);
_stepCreated =
true
;
RadComboBox1.Enabled =
false
;
RadWizard1.ActiveStepIndex = RadWizard1.WizardSteps[1].Index;
}
}
protected
void
RadWizard1_WizardStepCreated(
object
sender, Telerik.Web.UI.WizardStepCreatedEventArgs e)
{
if
(e.RadWizardStep.ID ==
"Complete"
)
{
e.RadWizardStep.StepType = RadWizardStepType.Complete;
Label label =
new
Label();
label.Text =
"Registration succeeded!"
;
e.RadWizardStep.Controls.Add(label);
}
else
{
Control wizardStepContents = LoadControl(
"TreeControl.ascx"
);
wizardStepContents.ID = e.RadWizardStep.ID +
"userControl"
;
e.RadWizardStep.Controls.Add(wizardStepContents);
}
}
protected
void
RadWizard1_NextButtonClick(
object
sender, WizardEventArgs e)
{
}
protected
void
RadWizard1_CancelButtonClick(
object
sender, WizardEventArgs e)
{
if
(_stepCreated)
{
RadWizardStep step2 = RadWizard1.WizardSteps[2];
RadWizard1.WizardSteps.Remove(step2);
RadWizardStep step1 = RadWizard1.WizardSteps[1];
RadWizard1.WizardSteps.Remove(step1);
}
RadWizard1.ActiveStepIndex = 0;
RadComboBox1.Enabled =
true
;
_stepCreated =
false
;
}
}
Hi
I have a little issue with a custom column i have created for the treelist.
The column is almost working as expected - it can get the value from the datasource, however when the value should be updated back to the database it dosnt happen, althou the ExtraceValues() is called and is returning the new value - i think i might be missing something simple - how you are able to help, thanks.
here is the asp markup for the column:
<%@ Register TagPrefix="CustomColumns" Namespace="CustomColumns" %>
<telerik:RadTreeList runat="server" ID="MenuTree" DataSourceID="IPPlanV4Menu" DataKeyNames="MenuID" ParentDataKeyNames="ParentMenuID" AutoGenerateColumns="False" EditMode="InPlace" >
<Columns>
.....
<CustomColumns:ValueSetColumn ValueSet="No=0,Yes=1" UniqueName="ForceVisible" HeaderText="Force Visible" DefaultInsertValue="0" DataField="ForceVisible">
<HeaderStyle Width="70px" />
<ItemStyle Width="60px" />
</CustomColumns:ValueSetColumn>
<telerik:TreeListEditCommandColumn AddRecordText="Add" CancelText="Cancel" EditText="Edit" InsertText="Insert" ShowAddButton="true" ShowEditButton="true" HeaderText="">
<HeaderStyle Width="70px" />
</telerik:TreeListEditCommandColumn>
<telerik:TreeListButtonColumn UniqueName="DeleteCommandColumn" Text="Delete" CommandName="Delete" HeaderText="">
<HeaderStyle Width="40px" />
</telerik:TreeListButtonColumn>
</Columns>
</telerik:RadTreeList>
and the code for the column with the two item templates
Imports Microsoft.VisualBasic
Imports System
Imports System.Linq
Imports System.Web.UI.WebControls
Imports Telerik.Web.UI
Namespace CustomColumns
Public Class ValueSetColumn
Inherits TreeListTemplateColumn
Private _valueSet As String
Private ListItems As OrderedDictionary
Public Property ValueSet As String
Get
Return _valueSet
End Get
Set(value As String)
Dim strs As String()
_valueSet = value
For Each Str As String In value.Split(",")
strs = Str.Split("=")
ListItems.Add(strs(0), strs(1))
Next
End Set
End Property
Public Sub New()
Me.ListItems = New OrderedDictionary()
Me.ItemTemplate = New ItemValueSetTemplate(Me)
Me.EditItemTemplate = New EditValueSetTemplate(Me)
End Sub
#Region "EditValueSetTemplate"
Private Class EditValueSetTemplate
Implements IBindableTemplate
Private owner As ValueSetColumn = Nothing
Private ddl As RadDropDownList = Nothing
Public Sub New(owner As ValueSetColumn)
Me.owner = owner
End Sub
Public Function ExtractValues(container As Control) As IOrderedDictionary Implements IBindableTemplate.ExtractValues
Dim values As New OrderedDictionary()
values(owner.DataField) = ddl.SelectedItem.Value
Return values
End Function
Public Sub InstantiateIn(container As Control) Implements ITemplate.InstantiateIn
ddl = New RadDropDownList()
ddl.Enabled = True
ddl.MergeStyle(owner.ItemStyle)
AddHandler ddl.DataBinding, AddressOf DataBinding
container.Controls.Add(ddl)
End Sub
Private Sub DataBinding(ByVal sender As Object, ByVal e As EventArgs)
Dim item As DropDownListItem
Dim DDL As RadDropDownList = DirectCast(sender, RadDropDownList)
Dim container As TreeListEditableItem = DirectCast(DDL.NamingContainer, TreeListEditableItem)
Dim selectedvalue As String = DirectCast(container.DataItem, DataRowView)(owner.DataField).ToString()
DDL.Items.Clear()
For Each ditem In owner.ListItems
item = New DropDownListItem(ditem.Key, ditem.Value)
item.Selected = (item.Value = selectedvalue)
DDL.Items.Add(item)
Next
End Sub
End Class
#End Region
#Region "ItemValueSetTemplate"
Private Class ItemValueSetTemplate
Implements IBindableTemplate
Private owner As ValueSetColumn = Nothing
Private ddl As RadDropDownList = Nothing
Public Sub New(owner As ValueSetColumn)
Me.owner = owner
End Sub
Public Function ExtractValues(container As Control) As IOrderedDictionary Implements IBindableTemplate.ExtractValues
Dim values As New OrderedDictionary()
values(owner.DataField) = ddl.SelectedItem.Value
Return Values
End Function
Public Sub InstantiateIn(container As Control) Implements ITemplate.InstantiateIn
ddl = New RadDropDownList()
AddHandler ddl.DataBinding, AddressOf DataBinding
ddl.MergeStyle(owner.ItemStyle)
ddl.Enabled = False
container.Controls.Add(ddl)
End Sub
Private Sub DataBinding(ByVal sender As Object, ByVal e As EventArgs)
Dim item As DropDownListItem
Dim DDL As RadDropDownList = DirectCast(sender, RadDropDownList)
Dim container As TreeListEditableItem = DirectCast(DDL.NamingContainer, TreeListEditableItem)
Dim selectedvalue As String = DirectCast(container.DataItem, DataRowView)(owner.DataField).ToString()
DDL.Items.Clear()
For Each ditem In owner.ListItems
item = New DropDownListItem(ditem.Key, ditem.Value)
item.Selected = (item.Value = selectedvalue)
DDL.Items.Add(item)
Next
End Sub
End Class
#End Region
End Class
End Namespace
Hello,
How I can change the comobobox button and arrow to look like this?
Thanks,
Ed
How to Export RadChart to Excel?
Please provide code, Thanks in advance.