Hello all first time poster here, I have a bit of a problem with a RadGrid GridTemplateColumn and a dropdownlist is saving back a blank string. Here is the code I am using. I don't know how much you need so I will post the minimum.
When I run the code I see the dropdownlist and it has data and it shows the correct drop down value when displayed.
On the RadGrid1_UpdateCommand it does see the value to hold it in the session but for some reason it actauly saves it back as a blank string.
<telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" runat="server" OnUpdateCommand="RadGrid1_UpdateCommand" ShowStatusBar="true" AutoGenerateColumns="False" AllowSorting="True" AllowMultiRowSelection="False" AllowPaging="False" AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" OnItemUpdated="RadGrid1_ItemUpdated" OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted" OnInsertCommand="RadGrid1_InsertCommand" OnItemDataBound="RadGrid1_ItemDataBound" OnItemCreated="RadGrid1_ItemCreated" Width="950"> <MasterTableView DataSourceID="SqlDataSource1" DataKeyNames="ID" AllowMultiColumnSorting="True" Width="100%" CommandItemDisplay="Top" Name="Questions"> <DetailTables> <telerik:GridTableView DataKeyNames="ID" DataSourceID="SqlDataSource2" Width="100%" runat="server" CommandItemDisplay="Top" Name="Answers"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="QuestionID" MasterKeyField="ID"></telerik:GridRelationFields> </ParentTableRelation> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn1"> <HeaderStyle Width="20px"></HeaderStyle> <ItemStyle CssClass="MyImageButton"></ItemStyle> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn SortExpression="QuestionID" HeaderText="Question" HeaderButtonType="TextButton" DataField="QuestionID" UniqueName="QuestionID" ReadOnly="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="AnswerText" HeaderText="Answer Text" HeaderButtonType="TextButton" DataField="AnswerText" UniqueName="AnswerText"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="PanelAmount" HeaderText="Panel Amount" HeaderButtonType="TextButton" DataField="PanelAmount" UniqueName="PanelAmount"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn SortExpression="IsEnd" HeaderText="Is End" HeaderButtonType="TextButton" DataField="IsEnd" UniqueName="IsEnd"> <ItemTemplate> <asp:Label ID="LabelIsEnd" runat="server"><%# DataBinder.Eval(Container.DataItem, "IsEnd")%></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:CheckBox ID="CheckBoxIsEnd" runat="server" Checked='<%#Eval("IsEnd") %>' /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn SortExpression="JumpToQuestion" HeaderText="Jump To Question" HeaderButtonType="TextButton" DataField="JumpToQuestion" UniqueName="JumpToQuestion"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn SortExpression="StartSurvey" HeaderText="Start Survey" HeaderButtonType="TextButton" DataField="StartSurvey" UniqueName="StartSurvey"> <ItemTemplate> <asp:Label ID="LabelStartSurvey" runat="server"><%# DataBinder.Eval(Container.DataItem, "StartSurvey")%></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:CheckBox ID="CheckBoxStartSurvey" runat="server" Checked='<%#Eval("StartSurvey") %>' /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="DeleteColumnAnswer"> </telerik:GridButtonColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn1"> <HeaderStyle Width="20px"></HeaderStyle> <ItemStyle CssClass="MyImageButton"></ItemStyle> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn SortExpression="ID" HeaderText="ID" HeaderButtonType="TextButton" DataField="ID" UniqueName="ID" ReadOnly="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="QuestionText" HeaderText="Question Text" HeaderButtonType="TextButton" DataField="QuestionText" UniqueName="QuestionText"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn SortExpression="QuestionType" HeaderText="Question Type" HeaderButtonType="TextButton" DataField="QuestionType" UniqueName="QuestionType"> <ItemTemplate> <asp:Label ID="LabelQuestionType" runat="server"><%# DataBinder.Eval(Container.DataItem, "QuestionType")%></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="DropDownListQUestionType" runat="server"></asp:DropDownList> <%--<asp:DropDownList ID="DropDownListQUestionType" runat="server" SelectedValue='<%#Eval("QuestionType") %>'></asp:DropDownList>--%> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn SortExpression="QuestionPosition" HeaderText="Question Position" HeaderButtonType="TextButton" DataField="QuestionPosition" UniqueName="QuestionPosition"> </telerik:GridBoundColumn> <telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="DeleteColumnQuestion"> </telerik:GridButtonColumn> </Columns> </MasterTableView> </telerik:RadGrid>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Local_TypingTool_NewConnectionString %>"
UpdateCommand="UPDATE [Screener_Questions] SET [QuestionText] = @QuestionText, [QuestionType] = @QuestionType, [QuestionPosition] = @QuestionPosition WHERE [ID] = @ID"
SelectCommand="SELECT [ID], [QuestionText], [QuestionType], [QuestionPosition] FROM Screener_Questions WHERE [Survey_ID] = @Survey_ID"
InsertCommand="INSERT INTO [Screener_Questions] ([Survey_ID], [QuestionText], [QuestionType], [QuestionPosition]) VALUES (@Survey_ID, @QuestionText, @QuestionType, @QuestionPosition)"
DeleteCommand="DELETE FROM [Screener_Questions] WHERE [ID] = @ID">
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Survey_ID" Type="Int32" />
<asp:Parameter Name="QuestionText" Type="String" />
<asp:Parameter Name="QuestionType" Type="Int32" />
<asp:Parameter Name="QuestionPosition" Type="Int32" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="ID" Type="Int32" />
<asp:Parameter Name="QuestionText" Type="String" />
<asp:Parameter Name="QuestionType" Type="Int32" />
<asp:Parameter Name="QuestionPosition" Type="Int32" />
</UpdateParameters>
<SelectParameters>
<asp:Parameter Name="Survey_ID" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
protected void RadGrid1_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) { GridEditableItem editedItem = e.Item as GridEditableItem; DropDownList list = editedItem.FindControl("DropDownListQUestionType") as DropDownList; Session["updatedValueQUestionType"] = list.SelectedValue; }When I run the code I see the dropdownlist and it has data and it shows the correct drop down value when displayed.
On the RadGrid1_UpdateCommand it does see the value to hold it in the session but for some reason it actauly saves it back as a blank string.