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

[Solved] First row loses dropdown bound value when using GridDropDownListColumnEditor

1 Answer 165 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Chris
Top achievements
Rank 2
Chris asked on 04 Sep 2009, 08:56 AM
Hi,
 I am using the Q1 2009 RAD AJAX control for ASP.NET. I hvae an odd problem when using a GridDropDownListColumnEditor to modify the width of the dropdownbox in edit mode. When the grid is not in edit mode the first row does not display a value for the field that is bound to the dropdown column. The value is correctly picked up in edit mode and in all the other rows. If i remove the column editor ID from the dropdown column all the values are displayed as expected.

The GridTextBoxColumnEditor works as expected.

Thanks

Chris

ASPX Code
<%@ Control Language="C#" AutoEventWireup="true"  
        CodeFile="TuteeTargetGrades.ascx.cs"  
        Inherits="usercontrols_TuteeTargetGrades" %> 
<%@ Import Namespace="System.ComponentModel"%> 
         
<%@ Register assembly="Telerik.Web.UI, Version=2009.1.311.20, Culture=neutral, PublicKeyToken=121fae78165ba3d4"  
        namespace="Telerik.Web.UI" tagprefix="telerik" %> 
 
<%@ Register assembly="AjaxControlToolkit, Version=1.0.20229.25335, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"  
        namespace="AjaxControlToolkit" tagprefix="cc1" %> 
 
<telerik:RadAjaxManagerProxy runat="server" ID="rampChild" > 
</telerik:RadAjaxManagerProxy> 
 
<telerik:RadAjaxLoadingPanel Runat="server" height="75px" width="75px"  
    ID="alpMain" Transparency="20" BackColor="White"  
    HorizontalAlign="Center" > 
    <br /> 
    <br /> 
    <img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>' 
        style="border: 0px;" /> 
</telerik:RadAjaxLoadingPanel> 
 
<asp:UpdatePanel ID="updMain" runat="server"  UpdateMode="Conditional"
<ContentTemplate> 
<asp:Panel ID="pnlCommonList" runat="server" Width="100%"
    <span class="ec-smartpart" > 
        <telerik:RadGrid runat="server" ID="rgMaster" DataSourceID="dsMaster"  
        AutoGenerateColumns="false" AllowSorting="true"  
        onprerender="rgMaster_PreRender" AllowMultiRowEdit="true"  
        ondetailtabledatabind="rgMaster_DetailTableDataBind"  
        onitemcommand="rgMaster_ItemCommand"  
        onupdatecommand="rgMaster_UpdateCommand" 
        Skin="Sunset" oncancelcommand="rgMaster_CancelCommand" TableLayout="Auto"
             
            <MasterTableView Name="Master" DataSourceID="dsMaster" DataKeyNames="pupil_code" EditMode="InPlace"
                <DetailTables> 
                    <telerik:GridTableView Name="Detail" EditMode="InPlace" runat="server"  
                                        DataKeyNames="unique_id" DataSourceID="dsDetail" 
                                         AutoGenerateColumns="false" AllowAutomaticUpdates="true" 
                                         width="100%" TableLayout="Auto"
                        <ParentTableRelation> 
                            <telerik:GridRelationFields DetailKeyField="pupil_code" MasterKeyField="pupil_code" /> 
                        </ParentTableRelation> 
                        <Columns> 
                            <telerik:GridBoundColumn SortExpression="subject_code" HeaderText="Subject" HeaderButtonType="TextButton" 
                                                     DataField="subject_code" UniqueName="subject_code" ReadOnly="true" 
                                                     HeaderStyle-Width="5%"/> 
                            <telerik:GridBoundColumn SortExpression="set_code" HeaderText="Set" HeaderButtonType="TextButton" 
                                                     DataField="set_code" UniqueName="set_code  ReadOnly="true
                                                     HeaderStyle-Width="5%"/> 
                            <telerik:GridBoundColumn SortExpression="initials" HeaderText="Tutor" HeaderButtonType="TextButton" 
                                                     DataField="initials" UniqueName="initials  ReadOnly="true
                                                     HeaderStyle-Width="5%"/> 
                            <telerik:GridDropDownColumn SortExpression="prediction" HeaderText="Grade" HeaderButtonType="TextButton" 
                                                     DataField="prediction" UniqueName="prediction" DataSourceID="xsGrades"  
                                                     ListTextField="text" ListValueField="text" HeaderStyle-Width="5%"  
                                                     ColumnEditorID="GridDropDownListColumnEditor1" /> 
                            <telerik:GridBoundColumn SortExpression="comments" HeaderText="Comment" HeaderButtonType="TextButton" 
                                                     DataField="comments" UniqueName="comments" HeaderStyle-Width="80%" MaxLength="128"  
                                                     ColumnEditorID="GridTextBoxColumnEditor1"/> 
                             
                        </Columns> 
                         
                    </telerik:GridTableView> 
                </DetailTables> 
                <Columns> 
                    <telerik:GridTemplateColumn SortExpression="imageLink" DataField="imageLink" UniqueName="imageLink 
                                        HeaderStyle-Width="5%"
                        <ItemTemplate> 
                            <div style="display:block"
                                <img src='../<%# DataBinder.Eval(Container.DataItem,"imageLink") %>' width="75px" height="100px"/> 
                            </div> 
                        </ItemTemplate> 
                    </telerik:GridTemplateColumn> 
                    <telerik:GridTemplateColumn SortExpression="imageLink" DataField="imageLink" UniqueName="details 
                                            HeaderStyle-Width="10%"
                        <ItemTemplate> 
                            <div> 
                                <%# DataBinder.Eval(Container.DataItem,"NAME") %><br /> 
                                <%# DataBinder.Eval(Container.DataItem,"yeargroup") %><br /> 
                                <%# DataBinder.Eval(Container.DataItem,"house") %><br /> 
                            </div> 
                        </ItemTemplate> 
                    </telerik:GridTemplateColumn> 
                    <telerik:GridEditCommandColumn ButtonType="PushButton" HeaderStyle-Width="85%" ItemStyle-HorizontalAlign="Left"/> 
                </Columns> 
            </MasterTableView> 
        </telerik:RadGrid> 
        <telerik:GridTextBoxColumnEditor ID="GridTextBoxColumnEditor1" TextBoxStyle-Width="600px" runat="server">  
        </telerik:GridTextBoxColumnEditor>  
        <telerik:GridDropDownListColumnEditor ID="GridDropDownListColumnEditor1" DropDownStyle-Width="40px" runat="server"
        </telerik:GridDropDownListColumnEditor> 
    </span> 
</asp:Panel> 
</ContentTemplate> 
</asp:UpdatePanel> 
 
<asp:SqlDataSource ID="dsMaster" runat="server"  
    ConnectionString="<%$ ConnectionStrings:PassMainConnectionString %>"  
     
    SelectCommand="SELECT DISTINCT AL.PUPIL_CODE, N.SURNAME + ', ' +N.PREFERRED_NAME AS NAME, P.HOUSE_1 AS house, P.FORM AS yeargroup, '_layouts/ec/handlers/ImageHandler.ashx?nID=' + CAST(P.NAME_ID AS VARCHAR) AS imageLink FROM ASSESSMENT_HEADER AS AH INNER JOIN ASSESSMENT_LINES AS AL ON AH.UNIQUE_ID = AL.HEADER_ID INNER JOIN PUPIL AS P ON AL.PUPIL_CODE = P.CODE INNER JOIN NAME AS N ON N.NAME_ID = P.NAME_ID INNER JOIN _metisStaffView AS S ON AH.TUTOR_CODE = S.staffCode WHERE (AH.ACADEMIC_YEAR = (SELECT ACADEMIC_YEAR FROM _CURR_YEAR)) AND (P.ACADEMIC_YEAR = (SELECT ACADEMIC_YEAR FROM _CURR_YEAR AS _CURR_YEAR_1)) AND (AH.ASSESSMENT_Nr = 15) AND (P.GROUP_TUTOR = (SELECT CODE FROM STAFF WHERE (NAME_ID = (SELECT NAME_ID FROM EC_CONTACT_USER_FIELDS WHERE (UPPER(MetisLogon) = UPPER(RTRIM(REPLACE(UPPER(@MetisLogon), 'EPCOT\', '')))))))) ORDER BY yeargroup, NAME"  
    onselecting="dsMaster_Selecting"
    <SelectParameters> 
        <asp:Parameter Name="metisLogon" /> 
    </SelectParameters> 
</asp:SqlDataSource> 
<asp:SqlDataSource ID="dsDetail" runat="server"  
    ConnectionString="<%$ ConnectionStrings:PassMainConnectionString %>" SelectCommand="SELECT 
    al.unique_id , 
    exam_date , 
    tutor_code , 
    set_code , 
    subject_code , 
    pupil_code,  
    S.initials, 
    grade_1 AS prediction , 
    comments  
FROM 
assessment_header AH 
INNER JOIN assessment_lines AL 
    ON AH.unique_id = AL.header_id 
INNER JOIN pupil P 
    ON AL.pupil_code = P.code 
INNER JOIN name N 
    ON N.name_id = P.name_id 
inner join dbo._metisStaffView S 
    on tutor_code =S.staffCode 
WHERE 
    AH.academic_year = ( SELECT 
                             academic_year 
                         FROM 
                             _curr_year ) 
    AND P.academic_year = ( SELECT 
                                academic_year 
                            FROM 
                                _curr_year ) 
    AND AH.assessment_nr = 15 
    AND pupil_code = @Pupil_Code 
ORDER BY subject_code, S.initials"  
     
    UpdateCommand="UPDATE ASSESSMENT_LINES SET GRADE_1 = @prediction, COMMENTS = RTRIM(@comments) WHERE (UNIQUE_ID = @unique_id)"  
    onupdating="dsDetail_Updating"
    <SelectParameters> 
        <asp:SessionParameter Name="Pupil_Code" SessionField="Pupil_Code" Type="String" /> 
    </SelectParameters> 
    <UpdateParameters> 
        <asp:Parameter Name="prediction" /> 
        <asp:Parameter Name="comments" /> 
        <asp:Parameter Name="unique_id" /> 
    </UpdateParameters> 
</asp:SqlDataSource> 
 
 
<asp:XmlDataSource ID="xsGrades" runat="server"  
    DataFile="~/usercontrols/Grades.xml" > 
</asp:XmlDataSource> 


XMLDataSource XML
<?xml version="1.0" encoding="utf-8" ?> 
<grades> 
    <grade text="-"/> 
    <grade text="S"/> 
    <grade text="A"/> 
    <grade text="B"/> 
    <grade text="C"/> 
    <grade text="D"/> 
    <grade text="E"/> 
    <grade text="U"/> 
</grades> 



1 Answer, 1 is accepted

Sort by
0
Pavel
Telerik team
answered on 09 Sep 2009, 10:07 AM
Hi Chris,

This problem indeed exists in the version of the controls you are using. It has already been addressed and you can solve it by updating to the latest version of our controls. Please refer to the following knowledge base article for further details on how to upgrade.

Sincerely yours,
Pavel
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
Chris
Top achievements
Rank 2
Answers by
Pavel
Telerik team
Share this question
or