There is a dropdownlist being populated in the OnItemDataBound event.
protected void RadGrid1_OnItemDataBound(object source, GridItemEventArgs e) { if (e.Item is GridEditableItem && e.Item.IsInEditMode) { GridEditableItem gEditableItem = (GridEditableItem)e.Item; //hit the framework and get a datatable DropDownList ddlEffectiveDate = (DropDownList)gEditableItem["efct_period_date"].FindControl("DdlEffectiveDate"); ddlEffectiveDate.DataSource = dt; dlEffectiveDate.DataTextField = "start_date"; ddlEffectiveDate.DataValueField = "period_id"; ddlEffectiveDate.DataBind(); ddlEffectiveDate.Items.Remove(ddlEffectiveDate.Items[0]); | <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="btnTest"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="btnTest" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server" |
| Skin="Default"> |
| </telerik:RadAjaxLoadingPanel> |
| <asp:Button runat="server" Text="OK" ID="btnTest" /> |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| if (Page.IsPostBack) |
| { |
| throw new Exception("test"); |
| } |
| } |
Hello,
I'd like to persist the selected Items on client side. I've found an article that describes the solution for RadGrids: http://www.telerik.com/help/aspnet-ajax/grid-persist-selected-rows-client-sorting-paging-grouping-filtering.html .
I tried to apply this solution for RadTreeList. I've replaced the OnRowCreated, OnRowSelected, OnRowDeselected, OnGridCreated event handlers with OnItemCreated, OnItemSelected, OnItemDeselected, OnTreeListCreated event handlers. When the grid is created the OnItemCreated even handler fires and the connected javascript is invoked. When this script invokes the args.get_item().set_selected(true); method I receive a javascript error message the tells me that the this._owner._selectedItems is null. After debugging the script I found that the _owner is null. I thought when this event handler is fired all properties of the item has been set. It seems that I was wrong.
Could you tell me how I can change the selection of a item when the page is loaded or the node is expanded or the control is paginated?
<telerik:RadEditor ID="txtnotes" Runat="server" Width="800" Height="600"> <tools> <telerik:EditorToolGroup Tag="MainToolbar"> <telerik:EditorTool Name="FindAndReplace" /> <telerik:EditorSeparator /> <telerik:EditorSplitButton Name="Undo"> </telerik:EditorSplitButton> <telerik:EditorSplitButton Name="Redo"> </telerik:EditorSplitButton> <telerik:EditorSeparator /> <telerik:EditorTool Name="Cut" /> <telerik:EditorTool Name="Copy" /> <telerik:EditorTool Name="Paste" ShortCut="CTRL+V" /> </telerik:EditorToolGroup> <telerik:EditorToolGroup Tag="Formatting"> <telerik:EditorTool Name="Bold" /> <telerik:EditorTool Name="Italic" /> <telerik:EditorTool Name="Underline" /> <telerik:EditorSeparator /> <telerik:EditorSplitButton Name="ForeColor"> </telerik:EditorSplitButton> <telerik:EditorSplitButton Name="BackColor"> </telerik:EditorSplitButton> <telerik:EditorSeparator /> <telerik:EditorDropDown Name="FontName"> </telerik:EditorDropDown> <telerik:EditorDropDown Name="RealFontSize"> </telerik:EditorDropDown> </telerik:EditorToolGroup> </tools> <content> </content> <trackchangessettings canaccepttrackchanges="False" /> </telerik:RadEditor>
<telerik:RadEditor ID="RadEditor1" runat="server" Width="100%" BorderStyle="None" EditModes="Design" ContentAreaCssFile="~/css/EditorContentArea.css" ContentAreaMode="iframe"> <CssFiles> <telerik:EditorCssFile Value="~/css/EditorContentArea.css" /> </CssFiles> <Tools> <telerik:EditorToolGroup Tag="MainToolbar"> <telerik:EditorTool Name="AjaxSpellCheck" /> <telerik:EditorTool Name="FindAndReplace" /> <telerik:EditorSeparator /> <telerik:EditorSplitButton Name="Undo"> </telerik:EditorSplitButton> <telerik:EditorSplitButton Name="Redo"> </telerik:EditorSplitButton> <telerik:EditorSeparator /> <telerik:EditorTool Name="Cut" /> <telerik:EditorTool Name="Copy" /> <telerik:EditorTool Name="Paste" ShortCut="CTRL+V" /> </telerik:EditorToolGroup> <telerik:EditorToolGroup Tag="Formatting"> <telerik:EditorTool Name="Bold" /> <telerik:EditorTool Name="Italic" /> <telerik:EditorTool Name="Underline" /> <telerik:EditorSeparator /> <telerik:EditorSplitButton Name="ForeColor"> </telerik:EditorSplitButton> <telerik:EditorSplitButton Name="BackColor"> </telerik:EditorSplitButton> <telerik:EditorSeparator /> <telerik:EditorDropDown Name="FontName"> </telerik:EditorDropDown> <telerik:EditorDropDown Name="RealFontSize"> </telerik:EditorDropDown> </telerik:EditorToolGroup> </Tools> <Content></Content></telerik:RadEditor><div style="float:left;"><telerik:RadSpell ID="RadSpell1" runat="server" ControlToCheck="RadEditor1" ButtonType="PushButton" AllowAddCustom="true" CssClass="floatL" /> <telerik:RadButton ID="RadButton1" runat="server" Text="Save" Height="22px" /></div>Imports Telerik.Web.UIPublic Delegate Sub RadButton1_Click(sender As Object, e As System.EventArgs)Public Class productAttributesEditor Inherits System.Web.UI.UserControl Public Event SaveClick As RadButton1_Click Public singleLang As String Public Property RadEditor() As RadEditor Get Return RadEditor1 End Get Set(value As RadEditor) RadEditor1 = value End Set End Property Public Property SpellSingleLanguage() As String Get Return singleLang End Get Set(value As String) singleLang = value End Set End Property Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then RadEditor1.Modules.Clear() RadEditor1.Languages.Clear() RadEditor1.SpellCheckSettings.AllowAddCustom = True RadEditor1.SpellCheckSettings.SpellCheckProvider = SpellCheckProvider.PhoneticProvider If String.IsNullOrEmpty(singleLang) Then Using ctx As New MyLovelyFood_DynamicStocksEntities() Dim langs = From a In ctx.aux_languageList Where a.Published = True And a.SpellEnabled = True Select a.LanguageCulture, a.Name, a.PrimaryLang Order By PrimaryLang For Each row In langs RadEditor1.Languages.Add(New SpellCheckerLanguage(row.LanguageCulture, row.Name)) Next End Using Else RadEditor1.SpellCheckSettings.DictionaryLanguage = singleLang End If End If End Sub Protected Sub RadButton1_Click(sender As Object, e As EventArgs) Handles RadButton1.Click RaiseEvent SaveClick(Me, e) End SubEnd Class ' Prepare text editor' For each Tab, create a new Editor... Private Sub RadTabStripIngredients_TabDataBound(sender As Object, e As RadTabStripEventArgs) Handles RadTabStripIngredients.TabDataBound Dim pageView As New RadPageView() pageView.ID = e.Tab.Value RadMultiPageIngredients.PageViews.Add(pageView) End Sub Private Sub RadMultiPageIngredients_PageViewCreated(sender As Object, e As RadMultiPageEventArgs) Handles RadMultiPageIngredients.PageViewCreated editorControl = LoadControl("~/common/AttributesEditor.ascx") editorControl.ID = e.PageView.ID & "_userControl" Using ctx As New DynamicStocksEntities() Dim langCulture = From a In ctx.aux_languageList Where a.Id = e.PageView.ID Select a.LanguageCulture editorControl.SpellSingleLanguage = langCulture.FirstOrDefault End Using e.PageView.Controls.Add(editorControl) AddHandler editorControl.SaveClick, AddressOf SaveEditor End Sub Private Sub SaveEditor(ByVal sender As Object, ByVal e As EventArgs) Dim editorObj As productAttributesEditor = TryCast(sender, Object) Dim content As String = TryCast(editorObj.RadEditor, RadEditor).Text MsgBox(content) ' >>>> ERROR, WE JUST RECEIVE THE INITIAL VALUE INSTEAD OF THE MODIFIED VERSION If Not String.IsNullOrEmpty(Trim(content)) Then' DO SOMETHING End If End Sub