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

[Solved] set dropdown selected value in grid on edit

3 Answers 534 Views
Grid
This is a migrated thread and some comments may be shown as answers.
PM
Top achievements
Rank 1
PM asked on 01 Dec 2009, 02:44 PM
Hi All,

I want to set the dropdown selected value in grid edit mode, 

value should be taken from label which is in ItemTemplate label.

I want to do it in code behind.

Please help me regarding this.

3 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 01 Dec 2009, 03:14 PM
Hi Praveen,

One suggestion would be setting DataKeyNames and setting the DropdownList value accordingly. Give a try with following code.

ASPX:
 
<MasterTableView AutoGenerateColumns="False" EditMode="InPlace" CommandItemDisplay="Top" 
    DataSourceID="SqlDataSource1" DataKeyNames="CustomerID"
    <Columns> 
        <telerik:GridTemplateColumn> 
            <ItemTemplate> 
                <asp:Label ID="Label1" runat="server" Text='<%# Eval("CustomerID") %>'></asp:Label> 
            </ItemTemplate> 
            <EditItemTemplate> 
                <asp:DropDownList ID="DropDownList1" runat="server"
                    <asp:ListItem Text="Item1"></asp:ListItem> 
                    <asp:ListItem Text="Item2"></asp:ListItem> 
                </asp:DropDownList> 
            </EditItemTemplate> 
        </telerik:GridTemplateColumn> 

CS:
 
    protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) 
    { 
        if (e.Item is GridEditableItem & e.Item.IsInEditMode) 
        { 
            GridEditableItem item = (GridEditableItem)e.Item; 
            DropDownList dropdown = (DropDownList)item.FindControl("DropDownList1"); 
 
            dropdown.SelectedValue = item.GetDataKeyValue("CustomerID").ToString(); 
        } 
 
    } 

Thanks,
Princy.
0
PM
Top achievements
Rank 1
answered on 01 Dec 2009, 03:24 PM
Thank you for the reply,

Actually i did as follows in aspx

<telerik:GridTemplateColumn DataField="PaymentMode" HeaderText="Payment Mode" 
                                SortExpression="PaymentMode" UniqueName="PaymentMode" EditFormColumnIndex="1">
                                <EditItemTemplate>
                                    <asp:DropDownList ID="ddlPaymentMode" AppendDataBoundItems="true" 
                                        runat="server">
                                        <asp:ListItem Text="Select..."></asp:ListItem>
                                        <asp:ListItem Text="Wire"></asp:ListItem>


                                        <asp:ListItem Text="Cheque"></asp:ListItem>
                                        <asp:ListItem Text="Credit Card"></asp:ListItem>
                                    </asp:DropDownList>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="PaymentModeLabel" runat="server" 
                                        Text='<%# Eval("PaymentMode") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>

How to get the label text in c#?
0
Princy
Top achievements
Rank 2
answered on 02 Dec 2009, 05:17 AM
Hello Praveen,

You can access the label in the ItemTemplate of a GridTemplateColumn as shown in the code below:
c#:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) 
    { 
        if (e.Item is GridDataItem) 
        { 
            GridDataItem dataItem = (GridDataItem)e.Item; 
            Label lbl = (Label)dataItem.FindControl("PaymentModeLabel");             
        } 
     } 

Hope this helps..
Princy.
Tags
Grid
Asked by
PM
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
PM
Top achievements
Rank 1
Share this question
or