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,將DataSetSQL字串填入OleDbDataAdapter。

adpt.Fill(dt, SQLStr)

七、指定ComboBox屬性

cmb_Subject.DataSource = dt.Tables(0)

cmb_Subject.ValueMember = "SubID"

cmb_Subject.DisplayMember = "SubName"

八、禁止輸入

將DropDownStyle屬性設為DropDownList。