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

[Solved] Unable to get handle to custom edit control

1 Answer 103 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Don Tompkins
Top achievements
Rank 1
Don Tompkins asked on 02 Mar 2010, 03:22 PM
Hello,

I am using a grid control with a user control for editing the data. The Grid also allows multi editing and is using Paging.

I want to automatically save any changes that are in my edit control when someone navigates off the page or causes a postback. Here is the code I am using to gain access to my control for saving, but it always returns “Nothing.”

VB Code To Get Handle to UserControl:

        For Each gi As GridEditableItem In dgIVG.EditItems 
            Dim MyUserControl As PatientDetails = CType(gi.FindControl("ctrlPatientDetails"), PatientDetails) 
            If MyUserControl IsNot Nothing Then 
                If Not MyUserControl.SaveData() Then 
                    MyUserControl.MessageErrorVisible = True 
                    Exit Sub 
                End If 
            End If 
        Next 
 

ASPX Code

    <telerik:RadGrid id="dgIVG" runat="server" Width="750px" AllowPaging="false" GridLines="None" AllowMultiRowEdit="false" Visible="false" Skin="Web20" > 
    <MasterTableView AutoGenerateColumns="False" NoMasterRecordsText="There are no patients that match the filter criteria." DataKeyNames="ID" > 
        <AlternatingItemStyle HorizontalAlign="Left" /> 
        <HeaderStyle BackColor="#5d7b9d" ForeColor="White"  /> 
        <ItemStyle HorizontalAlign="Left" /> 
         
        <Columns> 
            <telerik:GridEditCommandColumn UniqueName="EditCommandColumn" EditText="View" /> 
            <telerik:GridTemplateColumn HeaderText="" Visible="false"
                <ItemTemplate> 
                    <asp:Label id="lblAppointmentID" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ID") %>'></asp:Label> 
                </ItemTemplate> 
            </telerik:GridTemplateColumn> 
              
            <telerik:GridTemplateColumn HeaderText="Med Rec #"
                <ItemTemplate> 
                    <asp:Label id="lblMedRecNo" runat="server" Width="80px" Text='<%#DataBinder.Eval(Container, "DataItem.MedRecNo") %>'></asp:Label> 
                </ItemTemplate> 
                 
                <EditItemTemplate> 
                    <uc4:PatientDetails ID="ctrlPatientDetails" runat="server"  
                    AppointmentID='<%# DataBinder.Eval(Container, "DataItem.ID") %>' 
                     /> 
                </EditItemTemplate> 
            </telerik:GridTemplateColumn> 
                       
            <telerik:GridTemplateColumn HeaderText="Patient Name"
                <ItemTemplate> 
                    <asp:Label id="lblPtName" runat="server" Width="150px" Text='<%# DataBinder.Eval(Container, "DataItem.PtName") %>'></asp:Label> 
                </ItemTemplate> 
            </telerik:GridTemplateColumn> 
 
            <telerik:GridTemplateColumn HeaderText="Appt Date"
                <ItemTemplate> 
                    <asp:Label id="lblApptDate" runat="server" Width="80px" Text='<%# DateTime.Parse(DataBinder.Eval(Container, "DataItem.ApptDate")).ToShortDateString %>'></asp:Label> 
                </ItemTemplate> 
            </telerik:GridTemplateColumn> 
 
            <telerik:GridTemplateColumn HeaderText="Original Verification Result"
                <ItemTemplate> 
                    <asp:Label id="lblOrigVerificationResult" runat="server" Width="150px" Text='<%# GetFriendlyOrigVerificationResult(DataBinder.Eval(Container, "DataItem.OrigVerificationResult")) %>'></asp:Label> 
                </ItemTemplate> 
            </telerik:GridTemplateColumn> 
 
            <telerik:GridTemplateColumn HeaderText="Location"
                <ItemTemplate> 
                    <asp:Label id="lblLocation" runat="server" Width="75px" Text='<%# DataBinder.Eval(Container, "DataItem.Location") %>'></asp:Label> 
                </ItemTemplate> 
            </telerik:GridTemplateColumn>     
 
            <telerik:GridTemplateColumn HeaderText="Insurance Plan"
                <ItemTemplate> 
                    <asp:Label id="lblInsPlan" runat="server" Width="100px" Text='<%# GetFriendlyInsurancePlan(DataBinder.Eval(Container, "DataItem.InsPlan")) %>'></asp:Label> 
                </ItemTemplate> 
            </telerik:GridTemplateColumn> 
         
        </Columns> 
        </MasterTableView> 
    </telerik:RadGrid> 
 

Is there something I’m missing?

Thanks,

Don Tompkins

1 Answer, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 03 Mar 2010, 05:30 AM
Hi,

Please try the code snippet below to access the UserControl in th edit form. You will need to access the EditFormItem for this:

VB:
Protected Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgs) 
    For Each editedItem As GridEditableItem In RadGrid1.MasterTableView.GetItems(GridItemType.EditFormItem) 
    Dim userControl As UserControl = DirectCast(editedItem.FindControl(GridEditFormItem.EditFormUserControlID), UserControl) 
    Next 
End Sub 


Thanks,
Princy
Tags
Grid
Asked by
Don Tompkins
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Share this question
or