Mike Wendell
Top achievements
Rank 1
Mike Wendell
asked on 13 Apr 2011, 09:46 PM
Hello,
I am trying to do some manual form processing from the Template form with simple text boxes. I have followed several documented examples and I am not getting any values back from my posted form. Can anybody help me understand what might be wrong here?
I would like to do some basic processing like this:
http://www.telerik.com/community/code-library/aspnet-ajax/grid/manual-insert-update-delete-using-formtemplate-and-sql-backend.aspx
I am using a custom business object to interface with my database and all I want to do is populate the object from the form values and call a procedure to handle the data processing on the backend. Simple enough right?
Any of the statements where I do the TryCast to grab the values from the EditForm return empty values. I am probably missing something obvious, so I hope you can help.
Thanks in advance,
Mike
I am trying to do some manual form processing from the Template form with simple text boxes. I have followed several documented examples and I am not getting any values back from my posted form. Can anybody help me understand what might be wrong here?
I would like to do some basic processing like this:
http://www.telerik.com/community/code-library/aspnet-ajax/grid/manual-insert-update-delete-using-formtemplate-and-sql-backend.aspx
I am using a custom business object to interface with my database and all I want to do is populate the object from the form values and call a procedure to handle the data processing on the backend. Simple enough right?
Protected Sub gridAdjustments_InsertCommand(ByVal source As Object, ByVal e As GridCommandEventArgs) Try Dim insertedItem As GridEditFormInsertItem = DirectCast(e.Item, GridEditFormInsertItem) Dim thisAdjustmentDetail As New AdjustmentDetail()
thisAdjustmentDetail.ChangedSSN = (TryCast(insertedItem.FindControl("txtSSN"), TextBox)).Text thisAdjustmentDetail.FirstName = (TryCast(insertedItem.FindControl("txtFirstName"), TextBox)).Text
thisAdjustmentDetail.MiddleName = (TryCast(insertedItem.FindControl("txtMiddleName"), TextBox)).Text thisAdjustmentDetail.LastName = (TryCast(insertedItem.FindControl("txtLastName"), TextBox)).Text Dim qtrlyEarnings As String = (TryCast(insertedItem.FindControl("txtQuarterlyEarnings"), TextBox)).Text If qtrlyEarnings <> "" Then thisAdjustmentDetail.QuarterlyEarnings = Decimal.Parse(qtrlyEarnings) Else thisAdjustmentDetail.QuarterlyEarnings = 0D End If Dim insertDetailRecord As New DetailTable() insertDetailRecord.InsertDetail(thisAdjustmentDetail) thisAdjustmentDetail = Nothing insertDetailRecord = Nothing Catch ex As Exception gridAdjustments.Controls.Add(New LiteralControl("Unable to insert item: " + ex.Message)) e.Canceled = True End Try End SubAny of the statements where I do the TryCast to grab the values from the EditForm return empty values. I am probably missing something obvious, so I hope you can help.
Thanks in advance,
Mike
4 Answers, 1 is accepted
0
Mike Wendell
Top achievements
Rank 1
answered on 14 Apr 2011, 04:10 PM
Apologies for bumping a topic with zero replies. Not sure what the policy is on that here. Anyone have any ideas here? I hate to abandon the grid for the standard .NET controls, but will be forced to if I can't get this working with our custom business objects.
0
Mike Wendell
Top achievements
Rank 1
answered on 15 Apr 2011, 08:27 PM
OK, another try. here is my RadGrid:
And here is the InsertCommand:
None of the statements that should be accessing form values in my Template Form are returning data. They are all null or ""
Please help!
<telerik:RadGrid Width="750px" CellPadding="0" CellSpacing="0" ID="gridAdjustments" runat="server" AllowFilteringByColumn="False" AllowPaging="True" AllowSorting="True" AllowAutomaticInserts="false" AllowAutomaticDeletes="false" AllowAutomaticUpdates="false" AutoGenerateColumns="False" OnItemDataBound="gridAdjustments_ItemDataBound" OnItemDeleted="gridAdjustments_ItemDeleted" OnItemInserted="gridAdjustments_ItemInserted" OnItemUpdated="gridAdjustments_ItemUpdated" OnItemCommand="gridAdjustments_ItemCommand" OnPreRender="gridAdjustments_PreRender" OnDataBound="gridAdjustments_DataBound" OnInsertCommand="gridAdjustments_InsertCommand" OnUpdateCommand="gridAdjustments_UpdateCommand" OnDeleteCommand="gridAdjustments_DeleteCommand" GridLines="None" Skin="Office2007" ShowFooter="True"> <HeaderContextMenu EnableTheming="True" Skin=""> <CollapseAnimation Duration="200" Type="OutQuint" /> </HeaderContextMenu> <PagerStyle Mode="NextPrevAndNumeric" /> <ItemStyle BorderWidth="0" /> <AlternatingItemStyle BorderWidth="0" /> <MasterTableView CommandItemDisplay="Bottom" DataKeyNames="ID"> <ItemStyle BorderWidth="0" /> <AlternatingItemStyle BorderWidth="0" /> <RowIndicatorColumn> <HeaderStyle Width="20px" /> </RowIndicatorColumn> <ExpandCollapseColumn> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <Columns> <telerik:GridNumericColumn Visible="false" DataField="id" UniqueName="id"> </telerik:GridNumericColumn> <telerik:GridMaskedColumn HeaderText="SSN" Mask="###-##-####" DataField="SSN" UniqueName="SSN" SortExpression="SSN"> <ItemStyle Width="60px" BorderWidth="0" /> </telerik:GridMaskedColumn> <telerik:GridBoundColumn HeaderText="First Name" DataField="FirstName" UniqueName="FirstName" SortExpression="FirstName"> <ItemStyle Width="100px" BorderWidth="0" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Middle Name" DataField="MiddleName" UniqueName="MiddleName" SortExpression="MiddleName"> <ItemStyle Width="80px" BorderWidth="0" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Last Name" DataField="LastName" UniqueName="LastName" SortExpression="LastName"> <ItemStyle Width="100px" BorderWidth="0" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn Visible="false" DataField="SeasonalIndicator" UniqueName="SeasonalIndicator"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Wages" DataField="QuarterlyEarnings" DataFormatString="{0:C2}" UniqueName="QuarterlyEarnings" SortExpression="QuarterlyEarnings"> <ItemStyle Width="100px" BorderWidth="0" /> </telerik:GridBoundColumn> <telerik:GridEditCommandColumn UniqueName="EditCommandColumn" Display="false"> </telerik:GridEditCommandColumn> </Columns> <EditFormSettings EditFormType="Template"> <FormTemplate> <table width="100%" cellspacing="2" cellpadding="1" border="0" rules="none" style="border-collapse: collapse; background: white;"> <tr> <td style="height: 6px;" colspan="7"> </td> </tr> <tr class="EditFormHeader"> <td style="width: 2px;"> </td> <td style="width: 100px;"> <asp:Label ID="lblSSN" runat="server" Text="SSN"></asp:Label> </td> <td style="width: 100px;"> <asp:Label ID="lblFName" runat="server" Text="First Name"></asp:Label> </td> <td style="width: 50px;"> <asp:Label ID="lblMName" runat="server" Text="Middle Name"></asp:Label> </td> <td style="width: 100px;"> <asp:Label ID="lblLName" runat="server" Text="Last Name"></asp:Label> </td> <%If Session("IsSeasonal") Then%> <td id="seasonalLabel" style="width: 50px;"> <asp:Label ID="lblSeasonalIndicator" runat="server" Text="Seasonal"></asp:Label> </td> <%End If%> <td style="width: 50px;"> <asp:Label ID="lblWages" runat="server" Text="Wages"></asp:Label> </td> <td style="width: 2px;"> </td> </tr> <tr> <td style="width: 2px;"> <asp:HiddenField ID="hidFldId" runat="server" Value='<%# Eval("id") %>' /> <asp:HiddenField ID="hidConfID" runat="server" Value='<%# Eval("confirmationID") %>' /> <asp:HiddenField ID="hidAdjustType" runat="server" Value='<%# Eval("adjustmentType") %>' /> <asp:HiddenField ID="hidAdjustID" runat="server" Value='<%# Eval("adjustmentID") %>' /> <asp:HiddenField ID="hidSeasonalInd" runat="server" Value='<%# Eval("seasonalIndicator") %>' /> </td> <td style="width: 101px;"> <asp:HiddenField ID="changedSSN" runat="server" Value='<%# Eval("ChangedSSN") %>' OnPreRender="hidSSN_PreRender" /> <asp:TextBox ID="txtSSN" runat="server" Width="101px" Text='<%# Bind("SSN") %>' /> </td> <td style="width: 100px;"> <asp:TextBox ID="txtFirstName" runat="server" Text='<%# Bind("FirstName") %>' CssClass="textboxEmployerName"></asp:TextBox> </td> <td style="width: 50px;"> <asp:TextBox ID="txtMiddleName" runat="server" Text='<%# Bind("MiddleName") %>' CssClass="textboxEmployerName"></asp:TextBox> </td> <td style="width: 100px;"> <asp:TextBox ID="txtLastName" runat="server" Text='<%# Bind("LastName") %>' CssClass="textboxEmployerName"></asp:TextBox> </td> <% If Session("IsSeasonal") Then seasonalWidth = "8"%> <td id="seasonalDDL" style="width: 50px;"> <asp:DropDownList ID="ddlSeasonalIndicator" runat="server" SelectedValue='<%# Bind("SeasonalIndicator") %>' CssClass="dropDownSeasonalIndicator" Width="100%" Enabled="True"> <asp:ListItem Value="Y">Y</asp:ListItem> <asp:ListItem Value="N">N</asp:ListItem> <asp:ListItem Value=""></asp:ListItem> </asp:DropDownList> </td> <% End If%> <td style="width: 50px;"> <asp:TextBox ID="txtQuarterlyEarnings" runat="server" Text='<%# Bind("QuarterlyEarnings") %>' CssClass="textboxEmployerName"></asp:TextBox> </td> <td style="width: 2px;"> </td> </tr> <tr> <td style="height: 6px;" colspan="7"> </td> </tr> <tr> <td align="right" colspan="<%= seasonalWidth %>"> <asp:Button ID="btnUpdate" Text='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "Insert", "Update") %>' runat="server" CommandName='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "Insert", "Update") %>' /> <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" CommandName="Cancel"></asp:Button> </td> </tr> <tr> <td style="height: 6px;" colspan="<%= seasonalWidth %>"> </td> </tr> </table> </FormTemplate> </EditFormSettings> </MasterTableView> <ClientSettings> <ClientEvents OnRowDblClick="RowDblClick" /> </ClientSettings> <FilterMenu EnableTheming="True" Skin="Office2007"> <CollapseAnimation Duration="200" Type="OutQuint" /> </FilterMenu> </telerik:RadGrid>And here is the InsertCommand:
Protected Sub gridAdjustments_InsertCommand(ByVal source As Object, ByVal e As GridCommandEventArgs) Try Dim insertedItem As GridEditFormInsertItem = DirectCast(e.Item, GridEditFormInsertItem) Dim thisAdjustmentDetail As New AdjustmentDetail() thisAdjustmentDetail.ChangedSSN = (TryCast(insertedItem.FindControl("txtSSN"), TextBox)).Text thisAdjustmentDetail.SeasonalIndicator = False If Session("IsSeasonal") Then thisAdjustmentDetail.SeasonalIndicator = IIf((TryCast(insertedItem.FindControl("ddlSeasonalIndicator"), DropDownList)).SelectedValue = "Y", True, False) End If thisAdjustmentDetail.FirstName = (TryCast(insertedItem.FindControl("txtFirstName"), TextBox)).Text thisAdjustmentDetail.MiddleName = (TryCast(insertedItem.FindControl("txtMiddleName"), TextBox)).Text thisAdjustmentDetail.LastName = (TryCast(insertedItem.FindControl("txtLastName"), TextBox)).Text Dim qtrlyEarnings As String = (TryCast(insertedItem.FindControl("txtQuarterlyEarnings"), TextBox)).Text If qtrlyEarnings <> "" Then thisAdjustmentDetail.QuarterlyEarnings = Decimal.Parse(qtrlyEarnings) Else thisAdjustmentDetail.QuarterlyEarnings = 0D End If thisAdjustmentDetail.CreateDate = DateTime.Now() thisAdjustmentDetail.UpdateDate = DateTime.Now() thisAdjustmentDetail.ActiveIndicator = 1 thisAdjustmentDetail.DeleteIndicator = "N" Dim insertDetailRecord As New AdjustmentDetailTable() insertDetailRecord.InsertAdjustmentDetail(thisAdjustmentDetail) thisAdjustmentDetail = Nothing insertDetailRecord = Nothing Catch ex As Exception gridAdjustments.Controls.Add(New LiteralControl("Unable to insert wage item: " + ex.Message)) e.Canceled = True End Try End SubNone of the statements that should be accessing form values in my Template Form are returning data. They are all null or ""
Please help!
0
Mike Wendell
Top achievements
Rank 1
answered on 18 Apr 2011, 04:07 PM
I guess the forums are kind of dead now then? I will submit a support ticket.
0
Hi Mike,
I am posting the answer from your support ticket here for others to see if interested. Anyway, I would ask you to post only in the formal support ticket if you want to get back to us, so that we avoid duplicate posts. Thank you.
I looked at your code and it seems to be correct. You can see that our documentation recommends the same approach for inserts and updates using form template.
One thing that I did not see in your code was how you are binding your grid, so could you please confirm that you are using advanced data-binding and you do not call DataBind() anywhere in your code? Also, when you debug your code, is only the text value empty or the whole textbox controls come back as null?
As for AJAX, you could rule it out as a possible cause of the issue by temporarily setting EnableAJAX="false" for the RadAjaxManager and see what happens.
Best wishes,
Tsvetina
the Telerik team
I am posting the answer from your support ticket here for others to see if interested. Anyway, I would ask you to post only in the formal support ticket if you want to get back to us, so that we avoid duplicate posts. Thank you.
I looked at your code and it seems to be correct. You can see that our documentation recommends the same approach for inserts and updates using form template.
One thing that I did not see in your code was how you are binding your grid, so could you please confirm that you are using advanced data-binding and you do not call DataBind() anywhere in your code? Also, when you debug your code, is only the text value empty or the whole textbox controls come back as null?
As for AJAX, you could rule it out as a possible cause of the issue by temporarily setting EnableAJAX="false" for the RadAjaxManager and see what happens.
Best wishes,
Tsvetina
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.