設(shè)置DropDownList的當(dāng)前選項(xiàng)
更新時(shí)間:2008年01月16日 20:24:07 作者:
設(shè)置DropDownList的當(dāng)前選項(xiàng)
問:
請問一下在asp.net中的DropDownList綁定到一個(gè)數(shù)據(jù)表后,怎么設(shè)置他其中的一個(gè)項(xiàng)目為已選項(xiàng)???不要叫我用SelectedIndex來設(shè)置第幾的個(gè),我只能知道要設(shè)置已選的那個(gè)項(xiàng)目的值,并不知道他排在第幾位
______________________________________________________________________________________________
答1:
myDrop.Items.Add("請選擇");
myDrop.SelectedIndex=myDrop.Items.Count-1;
______________________________________________________________________________________________
答2:
DDLUnitQuery.Items.FindByText("所有").Selected=true;
______________________________________________________________________________________________
答3:
由于你的DropDownList是綁定到數(shù)據(jù)表的,所以DropDownList和數(shù)據(jù)表中的順序是一樣的。你可以寫個(gè)函數(shù),判斷當(dāng)前DropDownList的選定值在數(shù)據(jù)表中是第幾個(gè):
//
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("選定項(xiàng)目的值").Selected=true;
or
DropDownList1.SelectedIndex=-1;
DropDownList1.Items.FindByValue("選定項(xiàng)目的值").Selected=true;
______________________________________________________________________________________________
答6:
我有一辦法,從數(shù)據(jù)庫檢取,這個(gè)是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();
}
//數(shù)據(jù)綁定
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) //如果表不空,綁定數(shù)據(jù)
{
rbtl_role.DataSource=ds.Tables["tb_role"].DefaultView;
rbtl_role.DataTextField = "rolename";
rbtl_role.DataValueField = "roleid";
rbtl_role.DataBind();
}
//對RadioButtonList進(jìn)行哈稀編號(hào),保持同RadioButtonList.SelectedIndex的值一致編號(hào)
int i = 0;
foreach(DataRowView drv in dv )
{
StateIndex[drv.Row["roleid"]]=i;
i++;
}
//進(jìn)行比較,對選中的進(jìn)行設(shè)置
sql = "select roleid from tb_userrole where user_id=1";
OleDbCommand myCmd = new OleDbCommand(sql, myConnection);
myConnection.Open();
myReader = myCmd.ExecuteReader();
while (myReader.Read())
{
//此句選中設(shè)置
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,感謝你,你的方法最直觀:)
請問一下在asp.net中的DropDownList綁定到一個(gè)數(shù)據(jù)表后,怎么設(shè)置他其中的一個(gè)項(xiàng)目為已選項(xiàng)???不要叫我用SelectedIndex來設(shè)置第幾的個(gè),我只能知道要設(shè)置已選的那個(gè)項(xiàng)目的值,并不知道他排在第幾位
______________________________________________________________________________________________
答1:
myDrop.Items.Add("請選擇");
myDrop.SelectedIndex=myDrop.Items.Count-1;
______________________________________________________________________________________________
答2:
DDLUnitQuery.Items.FindByText("所有").Selected=true;
______________________________________________________________________________________________
答3:
由于你的DropDownList是綁定到數(shù)據(jù)表的,所以DropDownList和數(shù)據(jù)表中的順序是一樣的。你可以寫個(gè)函數(shù),判斷當(dāng)前DropDownList的選定值在數(shù)據(jù)表中是第幾個(gè):
//
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("選定項(xiàng)目的值").Selected=true;
or
DropDownList1.SelectedIndex=-1;
DropDownList1.Items.FindByValue("選定項(xiàng)目的值").Selected=true;
______________________________________________________________________________________________
答6:
我有一辦法,從數(shù)據(jù)庫檢取,這個(gè)是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();
}
//數(shù)據(jù)綁定
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) //如果表不空,綁定數(shù)據(jù)
{
rbtl_role.DataSource=ds.Tables["tb_role"].DefaultView;
rbtl_role.DataTextField = "rolename";
rbtl_role.DataValueField = "roleid";
rbtl_role.DataBind();
}
//對RadioButtonList進(jìn)行哈稀編號(hào),保持同RadioButtonList.SelectedIndex的值一致編號(hào)
int i = 0;
foreach(DataRowView drv in dv )
{
StateIndex[drv.Row["roleid"]]=i;
i++;
}
//進(jìn)行比較,對選中的進(jìn)行設(shè)置
sql = "select roleid from tb_userrole where user_id=1";
OleDbCommand myCmd = new OleDbCommand(sql, myConnection);
myConnection.Open();
myReader = myCmd.ExecuteReader();
while (myReader.Read())
{
//此句選中設(shè)置
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,感謝你,你的方法最直觀:)
您可能感興趣的文章:
相關(guān)文章
asp.net基礎(chǔ)學(xué)習(xí)之控件的使用方法
這篇文章主要為大家詳細(xì)介紹了asp.net基礎(chǔ)學(xué)習(xí)之控件的使用方法,感興趣的小伙伴們可以參考一下2016-08-08
NET Core 3.0 AutoFac內(nèi)置DI替換的新姿勢分享
這篇文章主要給大家介紹了關(guān)于NET Core 3.0 AutoFac內(nèi)置DI替換的新姿勢,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用NET Core 3.0具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
asp.net使用WebAPI和EF框架結(jié)合實(shí)現(xiàn)數(shù)據(jù)的基本操作
這篇文章介紹了asp.net使用WebAPI和EF框架結(jié)合實(shí)現(xiàn)數(shù)據(jù)基本操作的案例,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
ASP.NET?Core中的Ocelot網(wǎng)關(guān)介紹
這篇文章介紹了ASP.NET?Core中的Ocelot網(wǎng)關(guān),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
asp.net的IndexOf,LastIndexOf,IndexOfAny和LastIndexOfAny的用法
IndexOf,LastIndexOf,IndexOfAny和LastIndexOfAny的功能,是定位字符或定位子串2012-10-10
.NET?6新特性試用之TryGetNonEnumeratedCount?方法
這篇文章主要介紹了.NET?6新特性試用TryGetNonEnumeratedCount,這個(gè)方法可計(jì)算可枚舉類型的元素總數(shù),下面來看看具體的使用方式吧,需要的朋友可以參考一下2022-03-03
ASP.NET MVC中異常處理&自定義錯(cuò)誤頁詳析
當(dāng)ASP.NET MVC程序出現(xiàn)了異常,怎么處理更加規(guī)范?下面這篇文章主要給大家介紹了關(guān)于ASP.NET MVC中異常處理&自定義錯(cuò)誤頁的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04

