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

GridDropDownColumn fails to pass back ListValueField during batch update

1 Answer 50 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Greg S
Top achievements
Rank 1
Greg S asked on 06 Sep 2016, 09:47 PM

Scenario:

Grid with a GridDropDown column. The source for the drop down is a simple table of name/id pairs. If doing an update in batch mode, and the drop down's ListTextField has trailing spaces, the ListValueField won't be passed back during an update.

See sample below. At line 20 is the code to create the sample SQL data.

When running this sample, if you attempt to update a row and use any of the drop downs that end in spaces, the update will not assign the correct id value. If you change the edit mode from batch to popup, it will work fine. If you change line 42 to read:

ListTextField="name_trimmed" or ListTextField="name_appended"

both of which change the field to NOT end in trailing spaces, it will work as well.

I was able to work around this, but it's definitely a bug in the control. Trailing spaces should not throw of the ListValueField. I'm currently using version 2016.2.607.45

 

01.<%@ Page Language="C#" %>
02. 
03.<!DOCTYPE html>
04. 
05.<script runat="server">
06. 
07.</script>
08. 
10.<head runat="server">
11.    <title></title>
12.</head>
13.<body>
14.    <form id="form1" runat="server">
15.    <div>
16.     
17.        <asp:ScriptManager runat="server" ID="scriptmgr" />
18. 
19.        <%--
20./* SQL code to create tables and test data */
21.create table dropdownvalues (id int identity(1,1), name varchar(200))
22.create table datalist (id int identity(1,1), dropdown_id int)
23.insert into dropdownvalues  (name) values('no spaces'), ('spaces                                             ')
24. 
25.insert into datalist(dropdown_id)
26.select top 2 id from dropdownvalues
27. 
28.insert into dropdownvalues  (name) values('three spaces   ')
29.insert into dropdownvalues  (name) values('forty spaces                                        ')
30.insert into dropdownvalues  (name) values('zero spaces')
31.            --%>
32. 
33.        <telerik:GridDropDownListColumnEditor runat="server" ID="ddeditor" DropDownStyle-Width="200" />
34.             
35.        <telerik:RadGrid runat="server" DataSourceID="sql_source" AllowAutomaticUpdates="true" AutoGenerateColumns="false">
36.            <%--Works fine in PopUp edit mode--%>
37.            <MasterTableView EditMode="Batch" CommandItemDisplay="Top" DataKeyNames="id" >
38.                <Columns>
39.                    <telerik:GridEditCommandColumn/>
40.                    <telerik:GridBoundColumn DataField="id" HeaderText="id" ReadOnly="true" />
41.                    <telerik:GridDropDownColumn DataField="dropdown_id" HeaderText="dropdown_id" DataSourceID="sql_dropdown" 
42.                        ListValueField="id" ListTextField="name" HeaderStyle-Width="400" ColumnEditorID="ddeditor" />
43.                    <telerik:GridBoundColumn DataField="saved_dropdown_id" HeaderText="saved_dropdown_id" ReadOnly="true" />
44.                </Columns>
45.            </MasterTableView>
46.        </telerik:RadGrid>
47.         
48.        <asp:SqlDataSource ConnectionString="<%$ ConnectionStrings:MyDB%>" ID="sql_source" runat="server"
49.            SelectCommand="select *, dropdown_id as saved_dropdown_id from datalist"
50.            UpdateCommand="update datalist set dropdown_id=@dropdown_id where id=@id"
51.             />
52. 
53.        <asp:SqlDataSource ConnectionString="<%$ ConnectionStrings:MyDB%>" ID="sql_dropdown" runat="server"
54.            SelectCommand="select id,name, rtrim(name) name_trimmed, name + '-' name_appended from dropdownvalues order by name" />
55.    </div>
56.    </form>
57.</body>
58.</html>

1 Answer, 1 is accepted

Sort by
0
Kostadin
Telerik team
answered on 10 Sep 2016, 08:03 AM
Hi Greg,

We are aware of this issue and our developers are investigating the cause for it. The solution is to remove the empty space which you have already found.

Regards,
Kostadin
Telerik by Progress
Do you need help with upgrading your ASP.NET AJAX, WPF or WinForms projects? Check the Telerik API Analyzer and share your thoughts.
Tags
Grid
Asked by
Greg S
Top achievements
Rank 1
Answers by
Kostadin
Telerik team
Share this question
or