This is a migrated thread and some comments may be shown as answers.

With AJAX I have no text in my editor in InsertCommand

5 Answers 72 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Foppa
Top achievements
Rank 1
Foppa asked on 31 May 2011, 01:08 PM
Have problems getting data from my editor when I use ajax. If I remove ajax it will works.
When I enter the RadGrid1_InsertCommand I have no value in editor.Text.
The problem only occurs when I use ajax, without ajax it works and I have value in editor.Text
What should I do?

I just shows code that are affected:
.aspx
<asp:Content ID="Content1" ContentPlaceHolderID="CenterContentPlaceHolder" runat="Server">
    <telerik:RadGrid ID="GridEvent" runat="server" AutoGenerateColumns="False"
        ShowHeader="False" GridLines="None"
        ShowGroupFooter="true" OnItemDataBound="RadGrid1_ItemDataBound" OnItemCreated="RadGrid1_ItemCreated"
        OnPreRender="RadGrid1_PreRender" OnInsertCommand="RadGrid1_InsertCommand"
        OnCancelCommand="RadGrid1_CancelCommand" OnEditCommand="RadGrid1_EditCommand"
        OnUpdateCommand="RadGrid1_UpdateCommand" AllowAutomaticDeletes="False"    
        AllowAutomaticInserts="False" AllowAutomaticUpdates="False" OnNeedDataSource="RadGrid1_NeedDataSource">
  
        <ClientSettings AllowDragToGroup="False">
        </ClientSettings>
        <MasterTableView AutoGenerateColumns="False" GroupLoadMode="Client" InsertItemDisplay="Top"
            CellPadding="0" CellSpacing="0" EditMode="EditForms" DataKeyNames="Id,LogDate">
            <Columns>
                <telerik:GridTemplateColumn EditFormHeaderTextFormat="{0}" UniqueName="TemplateColumnUniqueName">
                    <EditItemTemplate>
                        <telerik:RadEditor ID="RadEditorEventLog" runat="server" ToolsFile="~/ExtraSimpleToolsFile.xml"
                            Width="100%" DialogHandlerUrl='~/Telerik.Web.UI.DialogHandler.axd' EditModes="Design"
                            Height="200px" Content='<%# Bind("Description") %>'>
                        </telerik:RadEditor>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <div class="cell">                        
                            <asp:Label ID="lblDescription" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"Description") %>'></asp:Label>
                        </div>
                        <div class="right-justify top">
                            <asp:Button ID="btnAlter" runat="server" Text="Alter*" CommandName="Edit" />
                        </div>
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
            </Columns>
            <EditFormSettings EditFormType="AutoGenerated">
                <FormMainTableStyle CellSpacing="0" CellPadding="0" Width="100%" />
                <FormTableStyle CellSpacing="0" CellPadding="0" BackColor="White" />
                <EditColumn ButtonType="PushButton" InsertText="Save*" UpdateText="Save**" UniqueName="EditCommandColumn1"
                    CancelText="Cancel*">
                </EditColumn>                
            </EditFormSettings>
            <GroupByExpressions>
                <telerik:GridGroupByExpression>
                    <GroupByFields>
                        <telerik:GridGroupByField FieldName="LogDate" SortOrder="Descending" />
                    </GroupByFields>
                    <SelectFields>
                        <telerik:GridGroupByField FieldName="LogDate" />
                    </SelectFields>
                    <SelectFields>
                        <telerik:GridGroupByField FieldName="UserFullName" />
                    </SelectFields>
                </telerik:GridGroupByExpression>
            </GroupByExpressions>
            <SortExpressions>
                <telerik:GridSortExpression FieldName="LogDate" SortOrder="Descending" />
            </SortExpressions>
        </MasterTableView>
    </telerik:RadGrid>
    <telerik:RadAjaxManager runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="GridEvent">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="GridEvent" LoadingPanelID="RadAjaxLoadingPanel1"/>                                        
                </UpdatedControls>                
            </telerik:AjaxSetting>           
        </AjaxSettings>
    </telerik:RadAjaxManager>
     <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" />
</asp:Content>

.aspx.cs
protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e)
    {    
        if ((e.Item is GridEditFormInsertItem) && (e.Item.OwnerTableView.IsItemInserted))
        {
            RadEditor editor = (RadEditor)e.Item.FindControl("RadEditorEventLog");
            if (editor != null)
            {
                if (editor.Text.Trim().Length < 1)
                {
                    return;
                }
                else
                {
                    IPurchase purchase = Factory.Get<IPurchase>((int)this.Object.ObjectId);
                    purchase.AddEventLog(true, editor.Content);
                    LoadEventLog();
                    this.GridEvent.Rebind();
                }
            }
        }
    }
  
  
protected void RadGrid1_PreRender(object sender, EventArgs e)
        

        this

 

 

.GridEvent.MasterTableView.IsItemInserted = true  

 

 

        this.GridEvent.Rebind();

 

    }

5 Answers, 1 is accepted

Sort by
0
Foppa
Top achievements
Rank 1
answered on 01 Jun 2011, 01:16 PM
Must add a post and say that it works in IIS but not in VS Cassini Web Server.
Strange!
0
Pavel
Telerik team
answered on 03 Jun 2011, 08:59 AM
Hello Foppa,

If you want to have a default value when inserting an item, you either have to use the DefaultInsertValue property of the column, or in the case of TemplateColumn add an InsertItemTemplate and set the text in the control inside it. Here is an article from our help which elaborates on this:

http://www.telerik.com/help/aspnet-ajax/grid-inserting-values-inplace-and-editforms.html

Regards,
Pavel
the Telerik team

Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

0
Foppa
Top achievements
Rank 1
answered on 16 Jun 2011, 12:40 PM

After I upgraded to version telerik 2011.1.519.40 it stopped working.

According to last post I do not want to have a a default value.
The problem I have is that I do not GridBoundColumns according to the example, I use InsertItemTemplate, EditItemTemplate and ItemTemplate.

<Columns>
                <telerik:GridTemplateColumn EditFormHeaderTextFormat="{0}" UniqueName="TemplateColumnUniqueName">
                    <InsertItemTemplate>                       
                        <telerik:RadEditor ID="RadEditorEventLogNew" runat="server" ToolsFile="~/ExtraSimpleToolsFile.xml"
                            Width="915px" DialogHandlerUrl='~/Telerik.Web.UI.DialogHandler.axd' EditModes="Design"
                            Height="200px" Content=''>
                        </telerik:RadEditor>                   
                    </InsertItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadEditor ID="RadEditorEventLog" runat="server" ToolsFile="~/ExtraSimpleToolsFile.xml"
                            Width="915px" DialogHandlerUrl='~/Telerik.Web.UI.DialogHandler.axd' EditModes="Design"
                            Height="200px" Content='<%# Bind("Description") %>'>
                        </telerik:RadEditor>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <div class="cell">
                            <asp:Label ID="lblDescription" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"Description") %>'></asp:Label>
                        </div>
                        <div class="right-justify top">
                            <asp:Button ID="btnAlter" runat="server" Text="Ändra*" CommandName="Edit" />
                        </div>
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
            </Columns>

When I save a new record, I do as follows:

protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e)
    {
        if ((e.Item is GridEditFormInsertItem) && (e.Item.OwnerTableView.IsItemInserted))
        {          
            RadEditor editor = (RadEditor)e.Item.FindControl("RadEditorEventLogNew");
            if (editor != null)
            {
                if (editor.Text.Trim().Length < 1 && editor.Text.Trim().Length < 1)
                {
                    return;
                }
                else
                {
                    MyInsert(editor.Content);
                    this.GridEvent.Rebind();
                }
            }
        }
    }


Everything works fine without AJAX but when I run with AJAX I get no text in the editor. editor.Text is blank.

<telerik:RadAjaxManager runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="GridEvent">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="GridEvent" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" />

How can I solve it?
Best regards!
0
Foppa
Top achievements
Rank 1
answered on 16 Jun 2011, 01:28 PM

 

If I replace telerik:RadEditor with asp:TextBox
it will work.

There must be something wrong with RadEditor.
do you have any solution?
0
Foppa
Top achievements
Rank 1
answered on 16 Jun 2011, 02:14 PM

Have solved it.
Set UseSubmitBehavior=false on PerformInsertButton and UpdateButton.
It was problem with Firefox, Chrome, Safari and Internet Explorer 9.
Tags
Grid
Asked by
Foppa
Top achievements
Rank 1
Answers by
Foppa
Top achievements
Rank 1
Pavel
Telerik team
Share this question
or