手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >设置DropDownList的当前选项
设置DropDownList的当前选项
摘要:问:请问一下在asp.net中的DropDownList绑定到一个数据表后,怎么设置他其中的一个项目为已选项啊?不要叫我用SelectedI...

问:

请问一下在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的当前选项】相关文章:

用sender的Parent获取GridView中的当前行

如何获取DataRow[]的值

.NET实现在网页中预览Office文件的3个方法

document.getElementsByName和document.getElementById 在IE与FF中不同实现

asp.net Repeater中使用if的代码

aspx 服务器架设问题解决

DropDownList绑定数据表实现两级联动示例

asp.net导出Excel类库代码分享

html+ashx 表单提交示例

QQ关于.net的精彩对话

精品推荐
分类导航