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

[Solved] Problem to update and delete row in RadGrid

1 Answer 172 Views
Grid
This is a migrated thread and some comments may be shown as answers.
david
Top achievements
Rank 1
david asked on 15 May 2009, 01:17 PM
Hello,

I have the following page :

<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/SimpleMasterPage.master" 
    CodeBehind="GestionMails.aspx.cs" Inherits="DataPro.WebUI.BackOffice.GestionMails" %> 
 
<%@ Register Assembly="RadComboBox.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %> 
<%@ Register Src="../UserControls/ModificationValidationUserControl.ascx" TagName="ModificationValidationUserControl" 
    TagPrefix="uc1" %> 
<%@ Register Assembly="RadGrid.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %> 
<%@ Register Assembly="RadAjax.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %> 
<%@ Register Assembly="DataPro.WebControls" Namespace="DataPro.WebControls" TagPrefix="sdp" %> 
<%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %> 
 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"
    <asp:Label ID="ltGestionTitle" CssClass="pageHeaderTop" runat="server"></asp:Label> 
    <div class="headerUnderline"
        &nbsp; 
    </div> 
    <table border="0" cellspacing="0" cellpadding="0" style="width: 97%"
        <tr style="width: 100%"
            <td class="smallHeader" colspan="2"
                <asp:Label ID="lblTopParameters" runat="server" EnableTheming="True"></asp:Label> 
            </td> 
        </tr> 
    </table> 
    &nbsp; 
    <rad:RadAjaxPanel ID="rapUtilisateurEcran" runat="server"
        <rad:RadGrid ID="rgUtilisateurEcran" runat="server" DataSourceID="odsUtilisateurEcran" 
            SkinID="mainGridSkin" AllowAutomaticDeletes="true" AllowAutomaticInserts="true" AllowAutomaticUpdates="true" 
            Width="97%" AllowPaging="True" GridLines="None" OnItemCreated="rgUtilisateurEcran_ItemCreated"
            <MasterTableView DataSourceID="odsUtilisateurEcran" AutoGenerateColumns="False" CommandItemDisplay="Top" DataKeyNames="userid"
                <Columns> 
                    <rad:GridTemplateColumn DataField="userid" HeaderText="userid" SortExpression="userid" 
                        Visible="False" UniqueName="userid"
                        <ItemTemplate>                       
                        </ItemTemplate> 
                        <EditItemTemplate> 
                            <sdp:DBComboBox ID="ddluserid" runat="server" DataSourceID="odsUtilisateur" SkinsPath="~/RadControls/ComboBox/Skins" 
                                Width="450px" SkinID="mainComboBoxSkinFull" DataTextField="name" DataValueField="userid" 
                                Height="200px" SelectedValue='<%# Bind("userid") %>' ForeignKeyName="userid"
                            </sdp:DBComboBox> 
                        </EditItemTemplate> 
                    </rad:GridTemplateColumn> 
                    <rad:GridTemplateColumn DataField="id_ecran" HeaderText="id_ecran" SortExpression="id_ecran" 
                        Visible="False" UniqueName="id_ecran"
                        <ItemTemplate>                       
                        </ItemTemplate> 
                        <EditItemTemplate> 
                            <sdp:DBComboBox ID="ddlid_ecran" runat="server" DataSourceID="odsEcran" SkinsPath="~/RadControls/ComboBox/Skins" 
                                Width="450px" SkinID="mainComboBoxSkinFull" DataTextField="Titre" DataValueField="id_ecran" 
                                Height="200px" SelectedValue='<%# Bind("id_ecran") %>' ForeignKeyName="id_ecran"
                            </sdp:DBComboBox> 
                        </EditItemTemplate> 
                    </rad:GridTemplateColumn> 
                    <rad:GridTemplateColumn DataField="name" HeaderText="name" SortExpression="name" 
                        UniqueName="name"
                        <ItemTemplate> 
                            <asp:Label ID="lblName" runat="server" Text='<%# Bind("name") %>'></asp:Label> 
                        </ItemTemplate> 
                    </rad:GridTemplateColumn> 
                </Columns> 
                <ExpandCollapseColumn Resizable="False"
                    <HeaderStyle Width="20px"></HeaderStyle> 
                </ExpandCollapseColumn> 
                <DetailTables> 
                    <rad:GridTableView runat="server" DataKeyNames="userid"  
                        DataSourceID="odsEcranParUtilisateur" GridLines="None" AutoGenerateColumns="False" 
                        SkinID="mainGridTableViewSkin_MAJ_SUPP" CommandItemDisplay="Top" 
                        NoDetailRecordsText="Aucun enregistrement." NoMasterRecordsText="Aucun enregistrement."
                        <ParentTableRelation> 
                            <rad:GridRelationFields DetailKeyField="userid" MasterKeyField="userid" /> 
                        </ParentTableRelation> 
                        <CommandItemSettings AddNewRecordText="Ajouter un nouveau point" RefreshText=" " /> 
                        <Columns> 
                            <rad:GridTemplateColumn DataField="userid" HeaderText="userid" SortExpression="userid" 
                                Visible="False" UniqueName="userid"
                                <ItemTemplate>                       
                                </ItemTemplate> 
                                <EditItemTemplate> 
                                    <sdp:DBComboBox ID="ddluserid" runat="server" DataSourceID="odsUtilisateur" SkinsPath="~/RadControls/ComboBox/Skins" 
                                        Width="450px" SkinID="mainComboBoxSkinFull" DataTextField="name" DataValueField="userid" 
                                        Height="200px" SelectedValue='<%# Bind("userid") %>' OnDataBound="ddluserid_DataBound" ForeignKeyName="userid"
                                    </sdp:DBComboBox> 
                                </EditItemTemplate> 
                            </rad:GridTemplateColumn> 
                            <rad:GridTemplateColumn DataField="id_ecran" HeaderText="id_ecran" SortExpression="id_ecran" 
                                Visible="False" UniqueName="id_ecran"
                                <ItemTemplate>                       
                                </ItemTemplate> 
                                <EditItemTemplate> 
                                    <sdp:DBComboBox ID="ddlid_ecran" runat="server" DataSourceID="odsEcran" SkinsPath="~/RadControls/ComboBox/Skins" 
                                        Width="450px" SkinID="mainComboBoxSkinFull" DataTextField="Titre" DataValueField="id_ecran" 
                                        Height="200px" SelectedValue='<%# Bind("id_ecran") %>' ForeignKeyName="id_ecran"
                                    </sdp:DBComboBox> 
                                </EditItemTemplate> 
                            </rad:GridTemplateColumn> 
                            <rad:GridTemplateColumn DataField="Titre" HeaderText="Titre" SortExpression="Titre" 
                                UniqueName="Titre"
                                <ItemTemplate> 
                                    <asp:Label ID="lblTitre" runat="server" Text='<%# Bind("Titre") %>'></asp:Label> 
                                </ItemTemplate> 
                            </rad:GridTemplateColumn> 
                            <rad:GridEditCommandColumn EditText="MAJ" UniqueName="AutoGeneratedEditColumn"
                                <ItemStyle Width="10px" /> 
                            </rad:GridEditCommandColumn> 
                            <rad:GridButtonColumn CommandName="Delete" Text="Supprimer" UniqueName="AutoGeneratedDeleteColumn" 
                                ConfirmText="Etes vous s&#251;r de vouloir supprimer cet enregistrement ?"
                                <ItemStyle Width="15px" /> 
                            </rad:GridButtonColumn> 
                        </Columns> 
                    </rad:GridTableView>             
                </DetailTables> 
            </MasterTableView>   
        </rad:RadGrid> 
 
        <asp:ObjectDataSource ID="odsUtilisateurEcran" runat="server" TypeName="DataPro.BL.BackOfficeController" 
            InsertMethod="InsertTableUtilisateurEcran" SelectMethod="GetTableUtilisateurEcran"
            <InsertParameters> 
                <asp:Parameter Name="userid" Type="String" /> 
                <asp:Parameter Name="id_ecran" Type="Int32" /> 
            </InsertParameters> 
        </asp:ObjectDataSource> 
        <asp:ObjectDataSource ID="odsEcranParUtilisateur" runat="server" TypeName="DataPro.BL.BackOfficeController" 
            OldValuesParameterFormatString="original_{0}" SelectMethod="GetEcranParUtilisateur"  
            InsertMethod="InsertTableUtilisateurEcran" DeleteMethod="DeleteTableUtilisateurEcran" 
            UpdateMethod="UpdateTableUtilisateurEcran"
            <SelectParameters> 
                <asp:Parameter Name="userid" Type="String" /> 
            </SelectParameters> 
            <InsertParameters> 
                <asp:Parameter Name="userid" Type="String" /> 
                <asp:Parameter Name="id_ecran" Type="Int32" /> 
            </InsertParameters> 
            <UpdateParameters> 
                <asp:Parameter Name="original_userid" Type="String" /> 
                <asp:Parameter Name="original_id_ecran" Type="Int32" /> 
                <asp:Parameter Name="userid" Type="String" /> 
                <asp:Parameter Name="id_ecran" Type="Int32" /> 
            </UpdateParameters> 
            <DeleteParameters> 
                <asp:Parameter Name="original_userid" Type="String" /> 
                <asp:Parameter Name="original_id_ecran" Type="Int32" /> 
            </DeleteParameters> 
        </asp:ObjectDataSource> 
        <asp:ObjectDataSource ID="odsUtilisateur" runat="server" TypeName="DataPro.BL.BackOfficeController" 
            SelectMethod="GetUtilisateur"
        </asp:ObjectDataSource> 
        <asp:ObjectDataSource ID="odsEcran" runat="server" TypeName="DataPro.BL.BackOfficeController" 
            SelectMethod="GetEcran"
        </asp:ObjectDataSource> 
    </rad:RadAjaxPanel> 
</asp:Content> 

This page allow me to insert new rows in my RadGrid through the ObjectDataSource "odsEcranParUtilisateur" but the deletes and updates don't work. More accuracy, when I want to delete a row the value "orignal_userid" and "original_id_ecran" passed to the method DeleteTableUtilisateurEcran are null.

What can I have missed ?

David

1 Answer, 1 is accepted

Sort by
0
Pavlina
Telerik team
answered on 16 May 2009, 06:47 AM
Hello David,

I followed your scenario in order to replicate the issue but to no avail.
At this point I suggest that you examine the following articles and I hope they will help you in resolving the matter.
Automatic Operations
Automatic operations with ObjectDataSource control

Sincerely yours,
Pavlina
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
david
Top achievements
Rank 1
Answers by
Pavlina
Telerik team
Share this question
or