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