DropDownList
ComboBox
DropDownList控制物件
新增一筆資料
DropDownList1.Items.Insert(0, New ListItem(String Text,String Value))
0:插入到最前面一筆,亦可以指定位置。
String Text: 顯示文字內容。
String Value: 文字內容對應值。
計算下拉視窗筆數
DropDownList1.Items.Count()
選取文字:DropDownList1.SelectedItem.Text
選取的值:DropDownList1.SelectedItem.Value (=DropDownList1.SelectedValue)
Binding to a Table
方法一,利用SqlDataAdapter和SqlConnection
VB語法
Dim DBcnStr As String = "data source=.\SQL2008;initial catalog=[Database];User id=[username];Password=[password];"
Dim con As SqlClient.SqlConnection = New SqlClient.SqlConnection(DBcnStr)
Dim com As String = "Select * From room Where valid='True' Order By Seq"
Dim adtp As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(com, con)
Dim dt As DataTable = New DataTable()
adtp.Fill(dt)
DropDownList1.DataSource = dt
DropDownList1.DataTextField = "RoomName"
DropDownList1.DataValueField = "RoomID"
DropDownList1.DataBind()
C#語法
String DBcnStr = "data source=.\SQL2008;initial catalog=[Database];User id=[username];Password=[password];";
SqlClient.SqlConnection con = New SqlClient.SqlConnection(DBcnStr);
String com = "Select * From room Where valid='True' Order By Seq";
SqlClient.SqlDataAdapter adtp = New SqlClient.SqlDataAdapter(com, con);
DataTable dt = New DataTable();
adtp.Fill(dt);
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "RoomName";
DropDownList1.DataValueField = "RoomID";
DropDownList1.DataBind();
方法二,利用SqlDataAdapter和SqlCommand
DropDownList控制物件 - qtm052-Org
VB語法
Dim sqlCon As String = "Data Source=.\SQL2008;initial catalog =[Database];user id=[Username];password =[Password]"
Dim sqlStr As string = "Select * From school Where valid='True' Order By seq"
Dim con As SqlConnection = new SqlConnection(sqlCon)
con.Open()
Dim cmd As SqlCommand = new SqlCommand(sqlStr, con)
Dim adtp As SqlDataAdapter = new SqlDataAdapter(cmd)
Dim dt As DataTable = new DataTable()
adtp.Fill(dt)
DropDownList1.DataSource = dt
DropDownList1.DataTextField = "RoomName"
DropDownList1.DataValueField = "RoomID"
DropDownList1.DataBind()
cmd.Dispose()
con.Close()
con.Dispose()
C#語法
string sqlCon = "Data Source=.\SQL2008;initial catalog =[Database];user id=[Username];password =[Password]";
string sqlStr = "Select * From Room Where valid='True' Order By seq";
SqlConnection con = new SqlConnection(sqlCon);
con.Open();
SqlCommand cmd = new SqlCommand(sqlStr, con);
SqlDataAdapter adtp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adtp.Fill(dt);
DropDownList1.DataSource = dt;
DropDownList1.DataTextField = "RoomName";
DropDownList1.DataValueField = "RoomID";
DropDownList1.DataBind();
cmd.Dispose();
con.Close();
con.Dispose();
屬性DataTextField為顯示名稱的欄位,DataValueField為代號欄位。
取值方法DropDownList1.SelectedValue
預選:值為DropDownList1.DataValueField、名稱為DropDownList1.DataTextField
DropDownList1.Items.FindByValue(值).Selected = True
DropDownList1.Items.FindByText(名稱).Selected = True
Combobox
結合資料表的方法,以下為Access資料庫。
一、宣告OleDb.OleDbConnection物件。
Dim cn As OleDb.OleDbConnection = New OleDb.OleDbConnection
二、宣告一個Public字串,
Public strConn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & path & file & ";Persist Security Info=False"。
三、宣告連結資料表SQL字串,
Dim SQLStr As String = "Select SubID,SubName From Subject"。
四、宣告OleDb.OleDbDataAdapter物件。
Dim adpt As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(SQLStr, strConn)
五、宣告一個DataSet物件。
Dim dt As DataSet = New DataSet
六、開啟OleDbConnection,將DataSet、SQL字串填入OleDbDataAdapter。
adpt.Fill(dt, SQLStr)
七、指定ComboBox屬性
cmb_Subject.DataSource = dt.Tables(0)
cmb_Subject.ValueMember = "SubID"
cmb_Subject.DisplayMember = "SubName"
八、禁止輸入
將DropDownStyle屬性設為DropDownList。