设置DropDownList的当前选项

太阳渐渐往下落,它的脸涨得越来越红,红的像个大火球,把身边的云染成五颜六色。慢慢地它走到西山背后,把美丽的霞光留在遥远的天边。我们都看得目瞪口呆。我的心里在想:晚霞真美!
问:
请问一下在asp.net中的DropDownList绑定到一个数据表后,怎么设置他其中的一个项目为已选项啊?不要叫我用SelectedIndex来设置第几的个,我只能知道要设置已选的那个项目的值,并不知道他排在第几位
______________________________________________________________________________________________
答1:
myDrop.Items.Add("请选择");
myDrop.SelectedIndex=myDrop.Items.Count-1;
______________________________________________________________________________________________
答2:
DDLUnitQuery.Items.FindByText("所有").Selected=true;
______________________________________________________________________________________________
答3:
由于你的DropDownList是绑定到数据表的,所以DropDownList和数据表中的顺序是一样的。你可以写个函数,判断当前DropDownList的选定值在数据表中是第几个:
//
publicintgetSelectedIndex(stringstr)
{
intidx=0;
dsEditData1=(dsEditData)Session["dsEditData1"];
for(inti=0;i<dsEditData1.EDIT_DATAlIST.Rows.Count;i++)
{
dsEditData.EDIT_DATAlISTRoweditRow=(dsEditData.EDIT_DATAlISTRow)dsEditData1.EDIT_DATAlIST.Rows[i];
stringdataStr=editRow.editValue;
if(dataStr==str)
{
idx=i;
break;
}
}
returnidx;
} 然后在HTML代码中绑定SelectedIndex值:
//
asp:DropDownListid=DropDownList1runat="server"DataMember="EDIT_DATAlIST"DataSource="<%#dsEditData1%>"Width="93px"DataTextField="editData"DataValueField="editValue"SelectedIndex='<%#getSelectedIndex(DataBinder.Eval(Container,"DataItem.personationid").ToString())%>'>
</asp:DropDownList>
______________________________________________________________________________________________
答4:
DropDownList.Items.FindByText("你的值").Selected=true;
DropDownList.Items.FindByValue("你的值").Selected=true;
______________________________________________________________________________________________
答5:
DropDownList1.SelectedIndex=-1;
DropDownList1.Items.FindByText("选定项目的值").Selected=true; or
DropDownList1.SelectedIndex=-1;
DropDownList1.Items.FindByValue("选定项目的值").Selected=true;
______________________________________________________________________________________________
答6:
我有一办法,从数据库检取,这个是radioButtonList,需要使用哈希表,你可以参考一下
usingSystem.Web.SessionState; publicclassmodrole:System.Web.UI.Page
{
publicHashtableStateIndex;
privatevoidPage_Load(objectsender,System.EventArgse)
{
StateIndex=newHashtable();
myConnection=newOleDbConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
if(!IsPostBack)
BindGrid();
}
//数据绑定
publicvoidBindGrid()
{
OleDbDataReadermyReader;
Stringsql="select*fromtb_roleorderbyroleid";
OleDbDataAdaptermyCommand=newOleDbDataAdapter(sql,myConnection);
DataSetds=newDataSet();
myCommand.Fill(ds,"tb_role");
DataViewdv=ds.Tables["tb_role"].DefaultView;
if(ds.Tables["tb_role"].Rows.Count!=0)//如果表不空,绑定数据
{
rbtl_role.DataSource=ds.Tables["tb_role"].DefaultView;
rbtl_role.DataTextField="rolename";
rbtl_role.DataValueField="roleid";
rbtl_role.DataBind();
}
//对RadioButtonList进行哈稀编号,保持同RadioButtonList.SelectedIndex的值一致编号
inti=0;
foreach(DataRowViewdrvindv)
{
StateIndex[drv.Row["roleid"]]=i;
i++;
}
//进行比较,对选中的进行设置
sql="selectroleidfromtb_userrolewhereuser_id=1";
OleDbCommandmyCmd=newOleDbCommand(sql,myConnection);
myConnection.Open();
myReader=myCmd.ExecuteReader();
while(myReader.Read())
{
//此句选中设置
rbtl_role.SelectedIndex=Convert.ToInt32(StateIndex[myReader["roleid"]].ToString());
}
//alwayscallClosewhendonereading.
myReader.Close();
//Closetheconnectionwhendonewithit.
myConnection.Close();
} ______________________________________________________________________________________________
答7:
imfine,感谢你,你的方法最直观:)

到此这篇关于设置DropDownList的当前选项就介绍到这了。遇到挫折的时候,不要消极对待,要积极对待,一定要心宽,做到心宽不容易的。越消沉越就高中生作文不起身来。人生不要有太多计较,要向前走,要相信一年比一年好。更多相关设置DropDownList的当前选项内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

标签: DropDownList