View Full Version : Dropdown list in gridview

Apr 21st, 2006, 08:32 PM
Im having an issue retrieving the value of a databound dropdownlist inside of a gridview. I thought maybe that i could get the value on the selelectedindexchange but still it does not work.

The dropdownlist contains a list of employees the datatextfield is their name and the value field is their employeeid. My goal is once the employee has been changed i want a text box ,3 columns over, to populate with the employee billing rate.

Please help....:confused:

Thanks in advance

Apr 22nd, 2006, 09:39 AM
OK go throug the url
hope it will help u

Apr 22nd, 2006, 03:48 PM
Thanks for answering me
the url that you sent me to was unable to aid me in any way. I dont want to retrieve the uniqueid of the entire row however i do want to retirieve the uniquieid/employeeid of the selectedvalue in the dropdownlist which is a template column within the gridview.


Apr 22nd, 2006, 08:03 PM
Does this article (http://www.4guysfromrolla.com/webtech/050801-1.shtml) help?

Apr 23rd, 2006, 03:07 AM
well so far i have figured out that i can get the textbox to populate when i select an item in the dropdown. I have that part working now but the one problem still remains is when i try to add multiple rows in the gridview.

Heres my code:

protected void dropTech_SelectedIndexChanged(object sender, EventArgs e)
ContentPlaceHolder mpContentPlaceHolder;
GridView mpControl;

mpContentPlaceHolder =

mpControl = (GridView)mpContentPlaceHolder.FindControl("gvLabor");

//int iRowID = mpControl.FindControl("lbl

//extract the employeeid for the employee that is selected
int iEmployeeID = Convert.ToInt32(((DropDownList)mpControl.Rows[0].Cells[0].Controls[0].FindControl("dropTech")).SelectedItem.Value);
//int iEmployeeID = Convert.ToInt32(((DropDownList)mpControl.Rows[].Cells[1].Controls[0].FindControl("dropTech")).SelectedItem.Value);

//get that employee billing rate
DataSet dsBillingRate = new DataSet();
dsBillingRate = VMBO.instance.getEmployeeBillingRate(iEmployeeID);

Decimal dBillingRate;

foreach (DataRow drBillingRate in dsBillingRate.Tables[0].Rows)
dBillingRate = (Decimal)drBillingRate["BillingRate"];

//now make the textbox have that value
((TextBox)mpControl.Rows[0].Cells[0].Controls[0].FindControl("txtRate")).Text = Convert.ToString(dBillingRate);