asp教程.net dropdownlist動態綁定的兩種方法
動態Binder 方法一:動態綁定資料庫教程中的欄位。
sqlconnection conn = utilitysqlclass.operatedatabase.returnconn();
string strsql = "select * from companytype";
sqldataadapter ada = new sqldataadapter(strsql, conn);
dataset ds = new dataset();
ada.fill(ds, "companytype");
dropdownlist1.datasource = ds.tables["companytype"].defaultview;
dropdownlist1.datavaluefield = ds.tables["companytype"].columns[1].columnname;
dropdownlist1.datatextfield = ds.tables["companytype"].columns[1].columnname;
dropdownlist1.databind();
ds.dispose();
動態Binder 方法二:利用dropdownlist.items.add方法。
protected void page_load(object sender, eventargs e)
{
if (!ispostback)
{
sqlconnection conn = utilitysqlclass.operatedatabase.returnconn();
try
{
conn.open();
this.dropdownlist1.items.add("");
string strsql = "select companytype from companytype";
sqlcommand com = new sqlcommand(strsql, conn);
sqldatareader dr = com.executereader();
while (dr.read())
{
this.dropdownlist1.items.add(dr["companytype"].tostring());
}
}
catch (exception ex)
{
response.write("<scirpt>alert('" + ex.message.tostring() + "')</script>");
}
finally
{
conn.close();
}
}
}
第一種方法:
string connstring = configurationsettings.apps教程ettings["connectionstring"];
//建立一個sqlconnection
sqlconnection conn = new sqlconnection( connstring );
string sql_select = "select id, itemname from ddlitem order by id desc";
//構造一個sqldataadapter
sqldataadapter myadapter = new sqldataadapter( sql_select, conn);
//開始讀取資料
conn.open();
dataset dataset = new dataset();
myadapter.fill( dataset,"table1" );
conn.close();
//開始綁定dropdownlist
//指定dropdownlist使用的資料來源
dropdownlist1.datasource = dataset.tables["table1"].defaultview;
//指定dropdownlist使用的表裡的那些欄位
dropdownlist1.datatextfield = "itemname"; //dropdownlist的text的欄位
dropdownlist1.datavaluefield = "id";//dropdownlist的value的欄位
dropdownlist1.databind();
第二種方法:
con.open();
sqlcommand cmd = new sqlcommand(strsql,con);
sqldatareader dr = cmd.executereader();
while (dr.read())
{
dropdownlist1.items.add(new listitem(dr["status"].tostring(), dr["status_id"].tostring()));
}