• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 587
  • Last Modified:

How to programmatically bind data to a dropdown list (combobox) in a gridview control for ASP 2.0

How can I programmatically bind data to a dropdown list (combobox) in a gridview control for ASP 2.0. I have a dataset that I am using to bind data to a gridview control that has all columns as labels. I am using the following code to bind my data:

'This method gets me the data to the TVData datatable variable

TVData = objSQL.GetHeader(ClientCode, DivisionCode, Market, Year, Month, MediaType)

'Here I am binding my datatable to my gridview control            

gvTV.DataSource = TVData
gvTV.DataBind()

As a  result I see all my label columns in the gridview populated with the data. However my column containing the combo box is not populated. Any ideas or code, is there any event where you have to write that code?

Thanks in advance
0
smkkaleem
Asked:
smkkaleem
  • 2
1 Solution
 
aki4uCommented:
Hi,

You need to set few fields in combobox so it gets populated, something like this:

<asp:TemplateColumn HeaderText="HeaderText">
     <ItemTemplate>          
          <asp:DropDownList runat="server" id="cmbID" AutoPostBack="true" OnSelectedIndexChanged="cmb_SelectedIndexChanged" DataSource='<%# GetCmbDataSource() %>' DataTextField="cmbTextField" DataValueField="cmbValueField" >
               </asp:DropDownList>
        </ItemTemplate>
</asp:TemplateColumn>

and of course implement in codebehind "GetCmbDataSource "

OR


Look here:
http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/ASP_DOT_NET/Q_21271322.htm

http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/ASP_DOT_NET/Q_21281459.html
0
 
smkkaleemAuthor Commented:
I  tried to follow the first link, does not work. The second link talks about the datgrid control for VS 1.1.  My question is regarding the gridview control in ASP.NET 2.0. Any more examples?

Thanks
0
 
meomarCommented:
Hi,


I think what you need to do is to  grab that control on the Item Creadted event of  the gridview or datagrid. Make sure that you get it while it is not created in the header or the footer. Once you find it you can bind to it in the event.
It will be something like this:

 private void  R_ItemCreated(object sender, System.Web.UI.WebControls.XXXXItemEventArgs e)
            {

                  if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
                  {
                              lstFacility = (DropDownList) e.Item.FindControl("ddFacility");
                              lstFacility.DataSource = htFacility;
                              lstFacility.DataTextField = "value";
                              lstFacility.DataValueField = "key";
                              lstFacility.DataBind();
                                             
                  }
                                }
0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now