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

[Solved] EditItem Template Does not Fire

4 Answers 131 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Suresh Mishra
Top achievements
Rank 1
Suresh Mishra asked on 04 Sep 2009, 09:12 PM
Hi,

I am using an edititem template within a grip and I wired an event handler for OnSelectedIndexChanged.  This even fires for ItemTemplate, but not for EditItem template.  I initially had this only for EditItem tempplate because that's where its needed.

What am I doing wrong?

Thanks.

Suresh

Here's the relevant ASPX snippet:


                                <telerik:GridTemplateColumn   DataField="LaborSchedule" HeaderText="Labor Schedule" UniqueName="LaborSchedule">
                                 <ItemTemplate>
                                        <telerik:RadComboBox DataTextField="Laborschedule"
                                         DataValueField="Laborschedule"
                                            EnableLoadOnDemand="True"
                                            ID="RadComboBoxLaborschedule"
                                            runat="server"
                                            Height="140px"
                                            Width="50px"
                                            SelectedValue = '<%#DataBinder.Eval(Container.DataItem, "LaborShedule")%>'
                                            OnItemsRequested="RadComboBoxLaborschedule_ItemsRequested"
                                            DataSourceID="ObjectDataSourceGetSchedules"
                                            OnSelectedIndexChanged="RadComboBoxLaborschedule_SelectedIndexChanged" >
                                        </telerik:RadComboBox>
                                </ItemTemplate>
                                <ItemStyle Width="300px" />
                                    <EditItemTemplate>
                                        <telerik:RadComboBox DataTextField="Laborschedule"
                                         DataValueField="Laborschedule"
                                            EnableLoadOnDemand="True"
                                            ID="RadComboBoxLaborschedule"
                                            runat="server"
                                            Height="140px"
                                            Width="50px"
                                            SelectedValue = '<%#DataBinder.Eval(Container.DataItem, "LaborShedule")%>'
                                            OnItemsRequested="RadComboBoxLaborschedule_ItemsRequested"
                                            DataSourceID="ObjectDataSourceGetSchedules"
                                            OnSelectedIndexChanged="RadComboBoxLaborschedule_SelectedIndexChanged2" >
                                        </telerik:RadComboBox>
                                    </EditItemTemplate>                                   
                                </telerik:GridTemplateColumn>

4 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 07 Sep 2009, 06:19 AM
Hi Suresh,

Try setting the AutoPostBack property of the RadComboBox in the EditItemTemplate to true and this should fire the OnSelectedIndexChanged event of the combobox.
aspx:
<radG:GridTemplateColumn DataField="LaborSchedule" HeaderText="Labor Schedule" UniqueName="LaborSchedule"
     <EditItemTemplate> 
           <telerik:RadComboBox AutoPostBack="true" DataTextField="Laborschedule" DataValueField="Laborschedule" EnableLoadOnDemand="True" 
              ID="RadComboBoxLaborschedule" runat="server" Height="140px" Width="50px" SelectedValue='<%#DataBinder.Eval(Container.DataItem, "LaborShedule")%>' 
              OnItemsRequested="RadComboBoxLaborschedule_ItemsRequested" DataSourceID="ObjectDataSourceGetSchedules" OnSelectedIndexChanged="RadComboBoxLaborschedule_SelectedIndexChanged2" > 
          </telerik:RadComboBox> 
     </EditItemTemplate>                                    
</radG:GridTemplateColumn> 

Thanks
Princy.
0
Paul Wiesinger
Top achievements
Rank 1
answered on 18 Nov 2009, 03:53 PM
Hi there!

I have the same scenario but a different problem.

Heres my grid:

<telerik:RadGrid ID="dgBookmarks" runat="server" Width="100%">  
<MasterTableView AutoGenerateColumns="false">  
                                <Columns> 
                                    <telerik:GridEditCommandColumn /> 
                                    <telerik:GridTemplateColumn UniqueName="UG">  
                                        <ItemTemplate> 
                                            <%# Eval("Chapter") %> / <%# Eval("Titel") %> / <%# Eval("Paragraph") %> 
                                        </ItemTemplate> 
                                        <EditItemTemplate> 
                                            <telerik:RadComboBox ID="ddlChapters" runat="server" AutoPostBack="true"   
                                                OnSelectedIndexChanged="ServerAction_ddlChaptersSelectedIndexChanged" />                      
                                        </EditItemTemplate> 
                                    </telerik:GridTemplateColumn> 
                                </Columns> 
                            </MasterTableView> 
                        </telerik:RadGrid> 

and my code behind:

protected void dgBookmarks_NeedDataSource(object source, GridNeedDataSourceEventArgs e)  
        {  
            dgBookmarks.DataSource = Chapter.Bookmarks.ToArray(typeof(Bookmark));              
        }  
 
        protected void dgBookmarks_ItemDataBound(object sender, GridItemEventArgs e)  
        {  
            if (e.Item is GridEditFormItem && e.Item.IsInEditMode)  
            {  
                GridEditFormItem editFormItem = (GridEditFormItem)e.Item;  
                RadComboBox ddlChapters = (RadComboBox)editFormItem["UG"].FindControl("ddlChapters");  
 
                ddlChapters.DataSource = GetAvailableChapters(Chapter.Year);  
                ddlChapters.DataBind();  
            }              
        }  
 
        protected void ServerAction_ddlChaptersSelectedIndexChanged(object sender, EventArgs e)  
        {  
            //everythings fine here...  
        } 

problem is:

In the Telerik.Web.UI.RadCompositeDataBoundControl.OnPreRender(EventArgs e) method there is a NullReferenceException (see Screenshot.png).

I guess this is not default-behaviour? There aren't any other RadControls on the page. I do not use a master page.

Yours, Paul



0
Martin
Telerik team
answered on 20 Nov 2009, 03:52 PM
Hello Paul,

I built sample project based on your code that runs as expected on my side. Please give it a try and let us know how it goes.

Regards,
Martin
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Paul Wiesinger
Top achievements
Rank 1
answered on 26 Nov 2009, 09:07 AM
Hello,

i'm not sure what the problem was, but it solved itself :-) If i discover the reason, i'll let you know.

Thanks,
Paul
Tags
Grid
Asked by
Suresh Mishra
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Paul Wiesinger
Top achievements
Rank 1
Martin
Telerik team
Share this question
or