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

Unable to Bind Data to the Dropdownlist column

2 Answers 148 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Sreekanth
Top achievements
Rank 1
Sreekanth asked on 17 Jan 2012, 10:56 AM

Hi,
I am Currently working on GridDropdownlist column ,here am trying to bind datasource  to the GridDropdown column in the Item DataBound event.But it is coming as empty..Please suggest me ,where am i doing wrong.

Here is my Code:

ASPX

 

 

<asp:UpdatePanel runat="server">

 

 

 

<ContentTemplate>

 

 

 

<telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource"

 

 

 

OnItemDataBound="RadGrid1_ItemDataBound" GridLines="None">

 

 

 

<MasterTableView AutoGenerateColumns="False">

 

 

 

<EditFormSettings ColumnNumber="2" CaptionFormatString="Edit details for ProductName with ID {0}"

 

 

 

CaptionDataField="DeptName">

 

 

 

<FormTableItemStyle Wrap="False"></FormTableItemStyle>

 

 

 

<FormCaptionStyle></FormCaptionStyle>

 

 

 

<FormMainTableStyle CellSpacing="0" CellPadding="3" Width="100%" />

 

 

 

<FormTableStyle GridLines="Horizontal" CellSpacing="0" CellPadding="2" CssClass="module"

 

 

 

Height="110px" Width="100%" />

 

 

 

<FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle>

 

 

 

<FormStyle Width="100%" BackColor="#EEF2EA"></FormStyle>

 

 

 

<EditColumn UpdateText="Update record" UniqueName="EditCommandColumn1" CancelText="Cancel edit">

 

 

 

</EditColumn>

 

 

 

<FormTableButtonRowStyle HorizontalAlign="Right" CssClass="EditFormButtonRow"></FormTableButtonRowStyle>

 

 

 

</EditFormSettings>

 

 

 

<Columns>

 

 

 

<telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>

 

 

 

 

<telerik:GridRatingColumn DataField="Rating" HeaderText="Rating">

 

 

 

<HeaderStyle Width="250px" />

 

 

 

</telerik:GridRatingColumn>

 

 

 

<telerik:GridAttachmentColumn MaxFileSize="1048576" EditFormHeaderTextFormat="Upload File:"

 

 

 

HeaderText="Download" AttachmentDataField="BinaryData" FileNameTextField="AttachmentFile"

 

 

 

DataTextField="AttachmentFile" UniqueName="AttachmentFile">

 

 

 

</telerik:GridAttachmentColumn>

 

 

 

<telerik:GridDropDownColumn UniqueName="DeptName" DataField="DeptName" ListTextField="DeptName" ListDataMember="DeptName"

 

 

 

SortExpression="DeptName" DropDownControlType="DropDownList" HeaderText="RadComboBox Column">

 

 

 

</telerik:GridDropDownColumn>

 

 

 

 

</Columns>

 

 

 

</MasterTableView>

 

 

 

</telerik:RadGrid>

 

 

 

</ContentTemplate>

 

 

 

</asp:UpdatePanel>

 


C#

private

 

 

DataTable BindData()

 

{

 

 

DataTable dt = new DataTable();

 

 

 

DataColumn dc = new DataColumn("Rating");

 

dt.Columns.Add(dc);

 

 

DataColumn dc1 = new DataColumn("AttachmentFile");

 

dt.Columns.Add(dc1);

 

 

DataColumn dc2 = new DataColumn("DeptName");

 

dt.Columns.Add(dc2);

 

 

DataRow dr = dt.NewRow();

 

dr[dc] = 3.5;

dr[dc1] =

 

"Image1";

 

dr[dc2] =

 

"HR";

 

dt.Rows.Add(dr);

 

 

return dt;

 

}


protected

 

 

void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)

 

{

RadGrid1.DataSource = BindData();

 

}

 

 

protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)

 

{

 

 

 

if (e.Item is GridEditableItem && e.Item.IsInEditMode)

 

{

 

 

GridEditableItem editedItem = e.Item as GridEditableItem;

 

 

 

GridEditManager editMan = editedItem.EditManager;

 

 

 

GridDropDownListColumnEditor editor = (GridDropDownListColumnEditor)(editMan.GetColumnEditor("DeptName"));

 

 

 

DropDownList ddList = editor.DropDownListControl;

 

ddList.DataSource = AssignDataSourceToDropDown();

ddList.DataTextField =

 

"DeptName";

 

ddList.DataValueField =

 

"DeptId";

 

ddList.DataBind();

}

 

 

 

}

 

 

private DataTable AssignDataSourceToDropDown()

 

{

 

 

DataTable dt = new DataTable();

 

 

 

DataColumn dc = new DataColumn("DeptName");

 

 

 

DataColumn dc1 = new DataColumn("DeptId");

 

dt.Columns.Add(dc);

dt.Columns.Add(dc1);

 

 

DataRow dr = dt.NewRow();

 

 

dr[dc] =

 

"HR";

 

dr[dc1] =

 

"1";

 

dt.Rows.Add(dr);

 

dr = dt.NewRow();

 

dr[dc] =

 

"PF";

 

dr[dc1] =

 

"2";

 

dt.Rows.Add(dr);

 

dr = dt.NewRow();

 

dr[dc] =

 

"Admin";

 

dr[dc1] =

 

"3";

 

dt.Rows.Add(dr);

 

dr = dt.NewRow();

 

dr[dc] =

 

"TTG";

 

dr[dc1] =

 

"4";

 

dt.Rows.Add(dr);

 

 

 

return dt;

 

}


Regards,
Sreekanth

2 Answers, 1 is accepted

Sort by
0
Kaushal
Top achievements
Rank 1
answered on 17 Jan 2012, 11:28 AM
Hi Sreekanth,

Here I am getting data into drop down at the time of edit mode.

Please check attached image.

Thanks,

Kaushal Jani
0
Jayesh Goyani
Top achievements
Rank 2
answered on 17 Jan 2012, 12:39 PM
Hello Sreekanth,

i checked your code and its working perfectly.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testaspnet.aspx.cs" Inherits="testaspnet" %>
 
<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head runat="server">
    <title></title>
    <style type="text/css">
         
    </style>
    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
    </telerik:RadCodeBlock>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
        </telerik:RadScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource"
                    OnItemDataBound="RadGrid1_ItemDataBound" GridLines="None">
                    <MasterTableView AutoGenerateColumns="False">
                        <EditFormSettings ColumnNumber="2" CaptionFormatString="Edit details for ProductName with ID {0}"
                            CaptionDataField="DeptName">
                            <FormTableItemStyle Wrap="False"></FormTableItemStyle>
                            <FormCaptionStyle></FormCaptionStyle>
                            <FormMainTableStyle CellSpacing="0" CellPadding="3" Width="100%" />
                            <FormTableStyle GridLines="Horizontal" CellSpacing="0" CellPadding="2" CssClass="module"
                                Height="110px" Width="100%" />
                            <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle>
                            <FormStyle Width="100%" BackColor="#EEF2EA"></FormStyle>
                            <EditColumn UpdateText="Update record" UniqueName="EditCommandColumn1" CancelText="Cancel edit">
                            </EditColumn>
                            <FormTableButtonRowStyle HorizontalAlign="Right" CssClass="EditFormButtonRow"></FormTableButtonRowStyle>
                        </EditFormSettings>
                        <Columns>
                            <telerik:GridEditCommandColumn>
                            </telerik:GridEditCommandColumn>
                            <telerik:GridRatingColumn DataField="Rating" HeaderText="Rating">
                                <HeaderStyle Width="250px" />
                            </telerik:GridRatingColumn>
                            <telerik:GridAttachmentColumn MaxFileSize="1048576" EditFormHeaderTextFormat="Upload File:"
                                HeaderText="Download" AttachmentDataField="BinaryData" FileNameTextField="AttachmentFile"
                                DataTextField="AttachmentFile" UniqueName="AttachmentFile">
                            </telerik:GridAttachmentColumn>
                            <telerik:GridDropDownColumn UniqueName="DeptName" DataField="DeptName" ListTextField="DeptName"
                                ListDataMember="DeptName" SortExpression="DeptName" DropDownControlType="DropDownList"
                                HeaderText="RadComboBox Column">
                            </telerik:GridDropDownColumn>
                        </Columns>
                    </MasterTableView>
                </telerik:RadGrid>
            </ContentTemplate>
        </asp:UpdatePanel>
        <br />
    </div>
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using System.Data;
 
public partial class testaspnet : System.Web.UI.Page
{
 
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("ID");
            dt.Columns.Add("Name");
            dt.Columns.Add("IsAdd");
 
            dt.Rows.Add(1, "Name1", false);
            dt.Rows.Add(2, "Naem2", false);
            dt.Rows.Add(3, "Name3", false);
            Session["dt"] = dt;
        }
    }
 
 
    private
 
 
 
 
 
DataTable BindData()
    {
 
 
 
 
 
        DataTable dt = new DataTable();
 
 
 
 
 
 
 
        DataColumn dc = new DataColumn("Rating");
 
 
 
        dt.Columns.Add(dc);
 
 
 
 
 
        DataColumn dc1 = new DataColumn("AttachmentFile");
 
 
 
        dt.Columns.Add(dc1);
 
 
 
 
 
        DataColumn dc2 = new DataColumn("DeptName");
 
 
 
        dt.Columns.Add(dc2);
 
 
 
 
 
        DataRow dr = dt.NewRow();
 
 
 
        dr[dc] = 3.5;
 
        dr[dc1] =
 
 
 
        "Image1";
 
 
 
        dr[dc2] =
 
 
 
        "HR";
 
 
 
        dt.Rows.Add(dr);
 
 
 
 
 
        return dt;
 
 
 
    }
 
    protected
 
 
 
 
 
    void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
 
        RadGrid1.DataSource = BindData();
 
 
 
    }
 
 
 
 
 
    protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
 
 
 
 
 
 
 
        if (e.Item is GridEditableItem && e.Item.IsInEditMode)
        {
 
 
 
 
 
            GridEditableItem editedItem = e.Item as GridEditableItem;
 
 
 
 
 
 
 
            GridEditManager editMan = editedItem.EditManager;
 
 
 
 
 
 
 
            GridDropDownListColumnEditor editor = (GridDropDownListColumnEditor)(editMan.GetColumnEditor("DeptName"));
 
 
 
 
 
 
 
            DropDownList ddList = editor.DropDownListControl;
 
 
 
            ddList.DataSource = AssignDataSourceToDropDown();
 
            ddList.DataTextField =
 
 
 
            "DeptName";
 
 
 
            ddList.DataValueField =
 
 
 
            "DeptId";
 
 
 
            ddList.DataBind();
 
        }
 
 
 
 
 
 
 
    }
 
 
 
 
 
    private DataTable AssignDataSourceToDropDown()
    {
 
 
 
 
 
        DataTable dt = new DataTable();
 
 
 
 
 
 
 
        DataColumn dc = new DataColumn("DeptName");
 
 
 
 
 
 
 
        DataColumn dc1 = new DataColumn("DeptId");
 
 
 
        dt.Columns.Add(dc);
 
        dt.Columns.Add(dc1);
 
 
 
 
 
        DataRow dr = dt.NewRow();
 
 
 
 
 
        dr[dc] =
 
 
 
        "HR";
 
 
 
        dr[dc1] =
 
 
 
        "1";
 
 
 
        dt.Rows.Add(dr);
 
 
 
        dr = dt.NewRow();
 
 
 
        dr[dc] =
 
 
 
        "PF";
 
 
 
        dr[dc1] =
 
 
 
        "2";
 
 
 
        dt.Rows.Add(dr);
 
 
 
        dr = dt.NewRow();
 
 
 
        dr[dc] =
 
 
 
        "Admin";
 
 
 
        dr[dc1] =
 
 
 
        "3";
 
 
 
        dt.Rows.Add(dr);
 
 
 
        dr = dt.NewRow();
 
 
 
        dr[dc] =
 
 
 
        "TTG";
 
 
 
        dr[dc1] =
 
 
 
        "4";
 
 
 
        dt.Rows.Add(dr);
 
 
 
 
 
 
 
        return dt;
 
 
 
    }
 
 
}


Let me know if any concern.

Thanks,
Jayesh Goyani
Tags
Grid
Asked by
Sreekanth
Top achievements
Rank 1
Answers by
Kaushal
Top achievements
Rank 1
Jayesh Goyani
Top achievements
Rank 2
Share this question
or