2011-11-01 20 views
8

Tengo un control de lista desplegable en mi página web. He obligar a la tabla de datos para el control de la siguiente lista desplegable -cómo establecer el valor predeterminado para el control de la lista desplegable?

lstDepartment.DataTextField = "DepartmentName"; 
    lstDepartment.DataValueField = "DepartmentID"; 
    lstDepartment.DataSource = dtDept; 
    lstDepartment.DataBind(); 

en caso de carga de página quiero establecer el valor predeterminado para el control desplegable lista de mi otro campo de tabla.

cómo hacerlo?

Respuesta

0

Suponiendo que el control DropDownList en la otra tabla contiene también DepartmentName y DepartmentID:

lstDepartment.ClearSelection(); 

foreach (var item in lstDepartment.Items) 
{ 
    if (item.Value == otherDropDownList.SelectedValue) 
    { 
    item.Selected = true; 
    } 
}
22

Después de su DataBind():

lstDepartment.SelectedIndex = 0; //first item 

or 

lstDepartment.SelectedValue = "Yourvalue" 

or 
//add error checking, just an example, FindByValue may return null 
lstDepartment.Items.FindByValue("Yourvalue").Selected = true; 

or 
//add error checking, just an example, FindByText may return null 
lstDepartment.Items.FindByText("Yourvalue").Selected = true; 
+0

su trabajo exactamente lo que quiero. Si el valor no está presente, entonces quiero configurar el registro en blanco. ¿como hacer esto? – Priyanka

+1

lstDepartment.Items.Insert (0, new ListItem ("", "")); –

+1

he vinculado la tabla de datos a la lista desplegable. utilicé su código para establecer el valor predeterminado en blanco. pero también muestra el 0 ° registro de la tabla. – Priyanka

4

si se conoce el índice del elemento de valor por defecto, simplemente

lstDepartment.SelectedIndex = 1;//the second item 

o si conoce el valor que quiere establecer, solo

lstDepartment.SelectedValue = "the value you want to set"; 
0
lstDepartment.DataTextField = "DepartmentName"; 
lstDepartment.DataValueField = "DepartmentID"; 
lstDepartment.DataSource = dtDept; 
lstDepartment.DataBind(); 
'Set the initial value: 
lstDepartment.SelectedValue = depID; 
lstDepartment.Attributes.Remove("InitialValue"); 
lstDepartment.Attributes.Add("InitialValue", depID); 

Y en su método de cancelar:

lstDepartment.SelectedValue = lstDepartment.Attributes("InitialValue"); 

Y en su método de actualización:

lstDepartment.Attributes("InitialValue") = lstDepartment.SelectedValue; 
Cuestiones relacionadas