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

GridDropDownColumn Value is not modified during Update

1 Answer 148 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Brett
Top achievements
Rank 2
Brett asked on 25 Aug 2009, 06:37 PM
I have one column in my radgrid that is using griddropdown (Operator), However when I edit a row and select a new value from the dropdown, the new value is not reflected after the update.  Is there a codeless solution for this, or do I need to fire an event after dropdown itemselected?  Here is my affected code for reference.

<telerik:RadGrid ID="rgHydrantsMaintenance" runat="server" 
                DataSourceID="dsHydrantsMaintenance" Height="100%" BorderWidth="0px" AllowSorting="True" 
                Style="outline: none" ShowGroupPanel="True" GridLines="None">  
                <ClientSettings Scrolling-AllowScroll="True" Scrolling-UseStaticHeaders="true" Selecting-AllowRowSelect="true" 
                    EnablePostBackOnRowClick="true" AllowDragToGroup="true" EnableRowHoverStyle="true">  
                    <Selecting AllowRowSelect="True" /> 
                    <Scrolling AllowScroll="True" UseStaticHeaders="True" /> 
                </ClientSettings> 
                <MasterTableView AllowAutomaticInserts="True" AllowAutomaticUpdates="True" AutoGenerateColumns="False" 
                    TableLayout="Fixed" GroupLoadMode="Client" CommandItemDisplay="Top" DataKeyNames="ID" 
                    DataSourceID="dsHydrantsMaintenance">  
                    <RowIndicatorColumn> 
                        <HeaderStyle Width="20px" /> 
                    </RowIndicatorColumn> 
                    <ExpandCollapseColumn> 
                        <HeaderStyle Width="20px" /> 
                    </ExpandCollapseColumn> 
                    <EditFormSettings> 
                        <EditColumn UniqueName="EditCommandColumn" ButtonType="ImageButton" CancelImageUrl="~/images/decline.png" 
                            UpdateImageUrl="~/images/add.png" InsertImageUrl="~/images/add.png">  
                        </EditColumn> 
                    </EditFormSettings> 
                    <Columns> 
                        <telerik:GridBoundColumn DataField="ID" DataType="System.Int32" HeaderText="ID" ReadOnly="True" 
                            SortExpression="ID" UniqueName="ID" Visible="False">  
                        </telerik:GridBoundColumn> 
                        <telerik:GridBoundColumn DataField="hID" DataType="System.Int32" HeaderText="Hydrant ID" 
                            SortExpression="hID" UniqueName="hID">  
                        </telerik:GridBoundColumn> 
                        <telerik:GridBoundColumn DataField="Date" DataType="System.DateTime" HeaderText="Date" 
                            SortExpression="Date" UniqueName="Date">  
                        </telerik:GridBoundColumn> 
                        <telerik:GridBoundColumn DataField="Work_Performed" HeaderText="Work_Performed" SortExpression="Work_Performed" 
                            UniqueName="Work_Performed">  
                        </telerik:GridBoundColumn> 
                        <telerik:GridDropDownColumn DataSourceID="dsOperators" DataField="ID" ListTextField="Operator" ListValueField="ID" UniqueName="Operator" DataType="System.Int32" HeaderText="Operator" 
                            SortExpression="Operator" ForceExtractValue="Always">  
                        </telerik:GridDropDownColumn> 
                       <%-- <telerik:GridBoundColumn DataField="Operator" DataType="System.Int32" HeaderText="Operator" 
                            SortExpression="Operator" UniqueName="Operator">  
                        </telerik:GridBoundColumn>--%> 
                        <telerik:GridBoundColumn DataField="Notes" HeaderText="Notes" SortExpression="Notes" 
                            UniqueName="Notes">  
                        </telerik:GridBoundColumn> 
                        <telerik:GridEditCommandColumn ButtonType="ImageButton" HeaderText="Edit" UniqueName="Edit" HeaderStyle-Width="20px" ItemStyle-Width="20px">  
                        </telerik:GridEditCommandColumn> 
                    </Columns> 
                </MasterTableView></telerik:RadGrid><asp:SqlDataSource ID="dsHydrantsMaintenance" 
                    runat="server" ConflictDetection="CompareAllValues" ConnectionString="<%$ ConnectionStrings:csWIRMS %>" 
                    DeleteCommand="DELETE FROM [maint_Hydrants] WHERE [ID] = @original_ID AND [hID] = @original_hID AND (([Date] = @original_Date) OR ([Date] IS NULL AND @original_Date IS NULL)) AND (([Work_Performed] = @original_Work_Performed) OR ([Work_Performed] IS NULL AND @original_Work_Performed IS NULL)) AND (([Operator] = @original_Operator) OR ([Operator] IS NULL AND @original_Operator IS NULL)) AND (([Notes] = @original_Notes) OR ([Notes] IS NULL AND @original_Notes IS NULL))" 
                    InsertCommand="INSERT INTO [maint_Hydrants] ([hID], [Date], [Work_Performed], [Operator], [Notes]) VALUES (@hID, @Date, @Work_Performed, @Operator, @Notes)" 
                    OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [maint_Hydrants] WHERE ([hID] = @hID) ORDER BY [Date]" 
                    UpdateCommand="UPDATE [maint_Hydrants] SET [hID] = @hID, [Date] = @Date, [Work_Performed] = @Work_Performed, [Operator] = @Operator, [Notes] = @Notes WHERE [ID] = @original_ID">  
                    <SelectParameters> 
                        <asp:ControlParameter ControlID="rgHydrants" Name="hID" PropertyName="SelectedValue" 
                            Type="Int32" /> 
                    </SelectParameters> 
                    <DeleteParameters> 
                        <asp:Parameter Name="original_ID" Type="Int32" /> 
                        <asp:Parameter Name="original_hID" Type="Int32" /> 
                        <asp:Parameter DbType="DateTime" Name="original_Date" /> 
                        <asp:Parameter Name="original_Work_Performed" Type="String" /> 
                        <asp:Parameter Name="original_Operator" Type="Int32" /> 
                        <asp:Parameter Name="original_Notes" Type="String" /> 
                    </DeleteParameters> 
                    <UpdateParameters> 
                        <asp:Parameter Name="hID" Type="Int32" /> 
                        <asp:Parameter DbType="DateTime" Name="Date" /> 
                        <asp:Parameter Name="Work_Performed" Type="String" /> 
                        <asp:Parameter Name="Operator" Type="Int32" /> 
                        <asp:Parameter Name="Notes" Type="String" /> 
                        <asp:Parameter Name="original_ID" Type="Int32" /> 
                        <asp:Parameter Name="original_hID" Type="Int32" /> 
                        <asp:Parameter DbType="DateTime" Name="original_Date" /> 
                        <asp:Parameter Name="original_Work_Performed" Type="String" /> 
                        <asp:Parameter Name="original_Operator" Type="Int32" /> 
                        <asp:Parameter Name="original_Notes" Type="String" /> 
                    </UpdateParameters> 
                    <InsertParameters> 
                        <asp:Parameter Name="hID" Type="Int32" /> 
                        <asp:Parameter DbType="DateTime" Name="Date" /> 
                        <asp:Parameter Name="Work_Performed" Type="String" /> 
                        <asp:Parameter Name="Operator" Type="Int32" /> 
                        <asp:Parameter Name="Notes" Type="String" /> 
                    </InsertParameters> 
                </asp:SqlDataSource> 
             
        </telerik:RadPane> 
    </telerik:RadSplitter> <asp:SqlDataSource ID="dsOperators" runat="server"   
        ConnectionString="<%$ ConnectionStrings:csWIRMS %>"   
        SelectCommand="SELECT [Operator], [ID] FROM [app_Operators] WHERE ([Enabled] = @Enabled)">  
        <SelectParameters> 
            <asp:Parameter DefaultValue="True" Name="Enabled" Type="Boolean" /> 
        </SelectParameters> 
    </asp:SqlDataSource> 


1 Answer, 1 is accepted

Sort by
0
Veli
Telerik team
answered on 28 Aug 2009, 07:19 AM
Hello bslaght,

Your RadGrid and GridDropDownColumn setup seems fine. The data source parameters and commands also seem properly set, in the same manner this online demo works.

Try the following. Attach an event handler to RadGrid's UpdateCommand event and check your dropdown selected value:

protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) 
    GridEditableItem item = e.Item as GridEditableItem; 
    GridEditManager man = item.EditManager; 
    RadComboBox operCombo = (man.GetColumnEditor("Operator"as GridDropDownListColumnEditor).ComboBoxControl; 
    string operId = operCombo.SelectedValue; 
    //Check the selected operId here 


All the best,
Veli
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.
Tags
Grid
Asked by
Brett
Top achievements
Rank 2
Answers by
Veli
Telerik team
Share this question
or