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

[Solved] Nested table isn't being updated

1 Answer 126 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Mickey
Top achievements
Rank 1
Mickey asked on 16 Jul 2009, 07:10 AM
I have a master detail grid table,
while insert/edit works fine for the master table,
and insert also work fine for the detail table,
the update doesn't work for the detail table,
am I missing anything?
Thanks
Mickey

        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SFS_DBConnectionString %>"
            DeleteCommand="DELETE FROM [T_ROOMS] WHERE [ROOM_ID] = @ROOM_ID" InsertCommand="INSERT INTO [T_ROOMS] ([CUSTOMER_ID], [NAME], [ROOM_TYPE_ID], [ROOM_PARENT_ID], [CLIENT1PREFIX], [CLIENT2PREFIX], [TOOLTIP]) VALUES (@CUSTOMER_ID, @NAME, @ROOM_TYPE_ID, @ROOM_PARENT_ID, @CLIENT1PREFIX, @CLIENT2PREFIX, @TOOLTIP)"
            SelectCommand="SELECT * FROM [T_ROOMS] WHERE (([ROOM_PARENT_ID] = @ROOM_PARENT_ID) AND ([CUSTOMER_ID] = @CUSTOMER_ID)) ORDER BY [NAME]"
            UpdateCommand="UPDATE [T_ROOMS] SET [CUSTOMER_ID] = @CUSTOMER_ID, [NAME] = @NAME, [ROOM_TYPE_ID] = @ROOM_TYPE_ID, [ROOM_PARENT_ID] = @ROOM_PARENT_ID, [CLIENT1PREFIX] = @CLIENT1PREFIX, [CLIENT2PREFIX] = @CLIENT2PREFIX, [TOOLTIP] = @TOOLTIP WHERE [ROOM_ID] = @ROOM_ID">
            <SelectParameters>
                <asp:Parameter DefaultValue="0" Name="ROOM_PARENT_ID" Type="Int32" />
                <asp:ControlParameter ControlID="RadComboBox1" Name="CUSTOMER_ID" PropertyName="SelectedValue"
                    Type="Int32" />
            </SelectParameters>
            <DeleteParameters>
                <asp:Parameter Name="ROOM_ID" Type="Int32" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter Name="CUSTOMER_ID" Type="Int32" />
                <asp:Parameter Name="NAME" Type="String" />
                <asp:Parameter Name="ROOM_TYPE_ID" Type="Int16" />
                <asp:Parameter Name="ROOM_PARENT_ID" Type="Int32" />
                <asp:Parameter Name="CLIENT1PREFIX" Type="String" />
                <asp:Parameter Name="CLIENT2PREFIX" Type="String" />
                <asp:Parameter Name="TOOLTIP" Type="String" />
                <asp:Parameter Name="ROOM_ID" Type="Int32" />
            </UpdateParameters>
            <InsertParameters>
                <asp:ControlParameter ControlID="RadComboBox1" Name="CUSTOMER_ID" PropertyName="SelectedValue"
                    Type="Int32" />
                <asp:Parameter Name="NAME" Type="String" />
                <asp:Parameter Name="ROOM_TYPE_ID" Type="Int16" />
                <asp:Parameter Name="ROOM_PARENT_ID" Type="Int32" DefaultValue="0" />
                <asp:Parameter Name="CLIENT1PREFIX" Type="String" />
                <asp:Parameter Name="CLIENT2PREFIX" Type="String" />
                <asp:Parameter Name="TOOLTIP" Type="String" />
            </InsertParameters>
        </asp:SqlDataSource>
        <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:SFS_DBConnectionString %>"
            DeleteCommand="DELETE FROM [T_ROOMS] WHERE [ROOM_ID] = @ROOM_ID" InsertCommand="INSERT INTO [T_ROOMS] ([CUSTOMER_ID], [NAME], [ROOM_TYPE_ID], [ROOM_PARENT_ID], [CLIENT1PREFIX], [CLIENT2PREFIX], [TOOLTIP]) VALUES (@CUSTOMER_ID, @NAME, @ROOM_TYPE_ID, @ROOM_PARENT_ID, @CLIENT1PREFIX, @CLIENT2PREFIX, @TOOLTIP)"
            SelectCommand="SELECT * FROM [T_ROOMS] WHERE ([ROOM_PARENT_ID] = @ROOM_PARENT_ID) ORDER BY [NAME]"
            UpdateCommand="UPDATE [T_ROOMS] SET [CUSTOMER_ID] = @CUSTOMER_ID, [NAME] = @NAME, [ROOM_TYPE_ID] = @ROOM_TYPE_ID, [ROOM_PARENT_ID] = @ROOM_PARENT_ID, [CLIENT1PREFIX] = @CLIENT1PREFIX, [CLIENT2PREFIX] = @CLIENT2PREFIX, [TOOLTIP] = @TOOLTIP WHERE [ROOM_ID] = @ROOM_ID">
            <SelectParameters>
                <asp:Parameter Name="ROOM_PARENT_ID" Type="Int32" />
            </SelectParameters>
            <DeleteParameters>
                <asp:Parameter Name="ROOM_ID" Type="Int32" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter Name="CUSTOMER_ID" Type="Int32" />
                <asp:Parameter Name="NAME" Type="String" />
                <asp:Parameter Name="ROOM_TYPE_ID" Type="Int16" />
                <asp:Parameter Name="ROOM_PARENT_ID" Type="Int32" />
                <asp:Parameter Name="CLIENT1PREFIX" Type="String" />
                <asp:Parameter Name="CLIENT2PREFIX" Type="String" />
                <asp:Parameter Name="TOOLTIP" Type="String" />
                <asp:Parameter Name="ROOM_ID" Type="Int32" />
            </UpdateParameters>
            <InsertParameters>
                <asp:ControlParameter ControlID="RadComboBox1" Name="CUSTOMER_ID" PropertyName="SelectedValue"
                    Type="Int32" />
                <asp:Parameter Name="NAME" Type="String" />
                <asp:Parameter Name="ROOM_TYPE_ID" Type="Int16" />
                <asp:Parameter Name="ROOM_PARENT_ID" Type="Int32" />
                <asp:Parameter Name="CLIENT1PREFIX" Type="String" />
                <asp:Parameter Name="CLIENT2PREFIX" Type="String" />
                <asp:Parameter Name="TOOLTIP" Type="String" />
            </InsertParameters>
        </asp:SqlDataSource>
        <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:SFS_DBConnectionString %>"
            SelectCommand="SELECT [ROOM_TYPE_ID], [NAME] FROM [T_ROOMS_TYPES]"></asp:SqlDataSource>
        <asp:SqlDataSource ID="SqlDataSource9" runat="server" ConnectionString="<%$ ConnectionStrings:SFS_DBConnectionString %>"
            SelectCommand="SELECT [CUSTOMER_ID], [NAME] FROM [T_CUSTOMERS] ORDER BY [NAME]">
        </asp:SqlDataSource>
        <br />
        Select Customer :
        <telerik:RadComboBox ID="RadComboBox1" runat="server" DataSourceID="SqlDataSource9"
            DataTextField="NAME" DataValueField="CUSTOMER_ID" Skin="Sunset" AutoPostBack="true"
            OnDataBound="RadComboBox1_DataBound" OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged">
        </telerik:RadComboBox>
        <br />
        <br />
        <telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" Skin="Sunset"
            GridLines="None" AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True"
            AllowSorting="True" AutoGenerateColumns="False">
            <MasterTableView DataKeyNames="ROOM_ID" DataSourceID="SqlDataSource1" EditMode="InPlace"
                CommandItemDisplay="TopAndBottom">
                <DetailTables>
                    <telerik:GridTableView runat="server" DataSourceID="SqlDataSource2" EditMode="InPlace"
                        AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="true"
                        CommandItemDisplay="TopAndBottom">
                        <ParentTableRelation>
                            <telerik:GridRelationFields DetailKeyField="ROOM_PARENT_ID" MasterKeyField="ROOM_ID" />
                        </ParentTableRelation>
                        <RowIndicatorColumn>
                            <HeaderStyle Width="20px" />
                        </RowIndicatorColumn>
                        <ExpandCollapseColumn>
                            <HeaderStyle Width="20px" />
                        </ExpandCollapseColumn>
                        <Columns>
                            <telerik:GridEditCommandColumn>
                            </telerik:GridEditCommandColumn>
                            <telerik:GridBoundColumn DataField="ROOM_ID" DataType="System.Int32" HeaderText="ROOM_ID"
                                ReadOnly="True" SortExpression="ROOM_ID" UniqueName="ROOM_ID" Visible="False">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="CUSTOMER_ID" DataType="System.Int32" HeaderText="CUSTOMER_ID"
                                SortExpression="CUSTOMER_ID" UniqueName="CUSTOMER_ID" Visible="False">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="NAME" HeaderText="NAME" SortExpression="NAME"
                                UniqueName="NAME">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="ROOM_TYPE_ID" DataType="System.Int16" HeaderText="ROOM_TYPE_ID"
                                SortExpression="ROOM_TYPE_ID" UniqueName="ROOM_TYPE_ID">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="ROOM_PARENT_ID" DataType="System.Int32" HeaderText="ROOM_PARENT_ID"
                                SortExpression="ROOM_PARENT_ID" UniqueName="ROOM_PARENT_ID" Visible="False">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="CLIENT1PREFIX" HeaderText="CLIENT1PREFIX" SortExpression="CLIENT1PREFIX"
                                UniqueName="CLIENT1PREFIX">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="CLIENT2PREFIX" HeaderText="CLIENT2PREFIX" SortExpression="CLIENT2PREFIX"
                                UniqueName="CLIENT2PREFIX">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="TOOLTIP" HeaderText="TOOLTIP" SortExpression="TOOLTIP"
                                UniqueName="TOOLTIP">
                            </telerik:GridBoundColumn>
                        </Columns>
                    </telerik:GridTableView>
                </DetailTables>
                <RowIndicatorColumn>
                    <HeaderStyle Width="20px"></HeaderStyle>
                </RowIndicatorColumn>
                <ExpandCollapseColumn Visible="True">
                    <HeaderStyle Width="20px"></HeaderStyle>
                </ExpandCollapseColumn>
                <Columns>
                    <telerik:GridEditCommandColumn>
                    </telerik:GridEditCommandColumn>
                    <telerik:GridBoundColumn DataField="ROOM_ID" DataType="System.Int32" HeaderText="ROOM_ID"
                        ReadOnly="True" SortExpression="ROOM_ID" UniqueName="ROOM_ID" Visible="False">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="CUSTOMER_ID" DataType="System.Int32" HeaderText="CUSTOMER_ID"
                        SortExpression="CUSTOMER_ID" UniqueName="CUSTOMER_ID" Visible="False">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="NAME" HeaderText="NAME" SortExpression="NAME"
                        UniqueName="NAME">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="ROOM_TYPE_ID" DataType="System.Int16" HeaderText="ROOM_TYPE_ID"
                        SortExpression="ROOM_TYPE_ID" UniqueName="ROOM_TYPE_ID">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="ROOM_PARENT_ID" DataType="System.Int32" HeaderText="ROOM_PARENT_ID"
                        SortExpression="ROOM_PARENT_ID" UniqueName="ROOM_PARENT_ID" Visible="False">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="CLIENT1PREFIX" HeaderText="CLIENT1PREFIX" SortExpression="CLIENT1PREFIX"
                        UniqueName="CLIENT1PREFIX">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="CLIENT2PREFIX" HeaderText="CLIENT2PREFIX" SortExpression="CLIENT2PREFIX"
                        UniqueName="CLIENT2PREFIX">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="TOOLTIP" HeaderText="TOOLTIP" SortExpression="TOOLTIP"
                        UniqueName="TOOLTIP">
                    </telerik:GridBoundColumn>
                </Columns>
                <EditFormSettings>
                    <EditColumn UniqueName="EditCommandColumn1">
                    </EditColumn>
                </EditFormSettings>
            </MasterTableView>
        </telerik:RadGrid>

1 Answer, 1 is accepted

Sort by
0
Sebastian
Telerik team
answered on 21 Jul 2009, 03:06 PM
Hello Mickey,

How to implement automatic editing operations in RadGrid hierarchy using SqlDataSource controls at each level you can see from the sample project in this code library thread. I suggest you compare your code with this from the demo attached in the code library entry as this can help you track down the exact cause of the abnormality and how to eliminate it.

Kind regards,
Sebastian
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Tags
Grid
Asked by
Mickey
Top achievements
Rank 1
Answers by
Sebastian
Telerik team
Share this question
or