源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[ASP.NET] 设置DropDownList的当前选项

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2008-1-16 20:24:07 | 显示全部楼层 |阅读模式
设置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,感谢你,你的方法最直观:)
回复

使用道具 举报

2

主题

2万

回帖

499

积分

中级会员

Rank: 3Rank: 3

积分
499
发表于 2022-8-26 13:47:45 | 显示全部楼层
灌灌灌灌水
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

58

积分

注册会员

Rank: 2

积分
58
发表于 2022-10-23 18:54:17 | 显示全部楼层
8888888888888888
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

207

积分

中级会员

Rank: 3Rank: 3

积分
207
发表于 2022-12-14 20:48:27 | 显示全部楼层
为全额万千瓦
回复 支持 反对

使用道具 举报

6

主题

2万

回帖

425

积分

中级会员

Rank: 3Rank: 3

积分
425
发表于 2023-1-6 03:10:38 | 显示全部楼层
怕怕怕怕怕怕怕怕怕怕怕怕怕怕
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2023-8-19 03:07:17 | 显示全部楼层
为全额万千瓦
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-9-9 19:24:21 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2023-9-12 22:33:43 | 显示全部楼层
刷屏刷屏刷屏
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2023-9-14 08:10:24 | 显示全部楼层
啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-11-2 01:26:26 | 显示全部楼层
hi哦和烦恼农家女
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-12-1 00:48 , Processed in 0.087703 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表