源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

设置DropDownList的当前选项

  • 时间:2021-10-12 22:47 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:设置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的选定值在数据表中是第几个: // public int getSelectedIndex(string str)         {             int idx=0;             dsEditData1=(dsEditData)Session["dsEditData1"];             for(int i=0;i<dsEditData1.EDIT_DATAlIST.Rows.Count;i++)             {                 dsEditData.EDIT_DATAlISTRow editRow=(dsEditData.EDIT_DATAlISTRow)dsEditData1.EDIT_DATAlIST.Rows[i];                 string dataStr=editRow.editValue;                 if(dataStr==str)                 {                     idx=i;                     break;                 }             }             return idx;         } 然后在HTML代码中绑定SelectedIndex值: // asp:DropDownList id=DropDownList1 runat="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,需要使用哈希表,你可以参考一下 using System.Web.SessionState; public class modrole : System.Web.UI.Page     {  public Hashtable StateIndex; private void Page_Load(object sender, System.EventArgs e)         {                StateIndex = new Hashtable();                                     myConnection = new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);             if (!IsPostBack)                                   BindGrid();          } //数据绑定         public void BindGrid()         {                OleDbDataReader myReader;               String sql = "select * from tb_role order by roleid";             OleDbDataAdapter myCommand = new OleDbDataAdapter(sql, myConnection);                                     DataSet ds = new DataSet();             myCommand.Fill(ds, "tb_role");             DataView dv = 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的值一致编号             int i = 0;             foreach(DataRowView drv in dv )             {             StateIndex[drv.Row["roleid"]]=i;                                 i++;             }             //进行比较,对选中的进行设置             sql = "select roleid from tb_userrole where user_id=1";                 OleDbCommand myCmd = new OleDbCommand(sql, myConnection);                 myConnection.Open();             myReader = myCmd.ExecuteReader();              while (myReader.Read())             { //此句选中设置                             rbtl_role.SelectedIndex = Convert.ToInt32(StateIndex[myReader["roleid"]].ToString());                         }             // always call Close when done reading.             myReader.Close();             // Close the connection when done with it.                     myConnection.Close();                     } ______________________________________________________________________________________________ 答7: imfine,感谢你,你的方法最直观:)
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部