DropDownList (下面简称为DDL)
ListItem (ListItem是DDL中的项)
一般是通过SelectedIndex属性设置选定项的. 在平时应用时我们一般不清楚选定项的具体位置序号, 只能确定ListItem的Text或Value属性.
ListItemCollection提供了FindByText和FindByValue 2个方法返回符合条件的顺序最靠前的ListItem, 而ListItem还有个Selected属性可以把自己设置成选定项.
DateTime now =
DateTime.Now;
string nowYear;
for( int i = 0; i < 20; i++)
{
nowYear = now.AddYears(i).ToString( "yyyy");
ddl.Items.Add( new ListItem(nowYear, nowYear));
}
ListItem liSelected = ddl.Items.FindByValue( "2008");
liSelected.Selected = true;
string nowYear;
for( int i = 0; i < 20; i++)
{
nowYear = now.AddYears(i).ToString( "yyyy");
ddl.Items.Add( new ListItem(nowYear, nowYear));
}
ListItem liSelected = ddl.Items.FindByValue( "2008");
liSelected.Selected = true;
注意: 当DDL的SelectedIndex属性不等于-1, 也就是DDL已经有项被选定项时, 再用上面的办法就会出错, 因为DDL不能同时具有2个或以上的选定项! 那该怎么办呢? 很简单, 把DDL的SelectedIndex 改成-1就行了. 见下例
ddl.SelectedIndex = -1;
liSelected.Selected = true;
liSelected.Selected = true;