สร้าง คอลโทรล Combobox ขึ้นมาแล้วตั้งชื่อให้กับมัน
ในที่นี้ชื่อว่า combo1


SqlConnection objConn;

private void Form1_Load(object sender, EventArgs e)
{
String strConnString;
strConnString = "Server=NASA;Uid=sa;PASSWORD=1234;database=db_test;Max Pool Size=400;Connect Timeout=600;";
objConn = new SqlConnection(strConnString);
objConn.Open();

DataSet ds = new DataSet();
SqlDataAdapter da1 = new SqlDataAdapter("SELECT * FROM tbl_list", objConn);
da1.Fill(ds, "combolist");
combo1.DataSource = ds;//กำหนด DataSet
combo1.DisplayMember = "combolist.type";
combo1.ValueMember = "combolist.id";
objConn.Close();

}


เอาล่ะทีนี้เรามาดูบรรทัดที่ 12

da1.Fill(ds, "combolist");

"combolist" คือชื่อที่กำหนดให้กับ DataSet

บรรทัดที่ 13

combo1.DataSource = ds;

เป็นการกำหนด DataSet

บรรทัดที่ 14

combo1.DisplayMember = "combolist.type";

combo1.DisplayMember คือการกำหนดข้อความที่ใช้แสดงใน Combobox (ข้อความที่เป็น list ให้เลือกอ่ะ)
"combolist.type" เป็นการดึงข้อมูลจาก Database ใน Field ที่มีชื่อว่า type
combolist เป็นชื่อ Dataset
type คือชื่อ Field

บรรทัดที่ 15

combo1.ValueMember = "combolist.id";

combo1.ValueMember คือการกำหนด Value ให้กับ Combobox
"combolist.id" เป็นการดึงข้อมูลจาก Database ใน Field ที่มีชื่อว่า id
id คือชื่อ Field

เสร็จเรียบร้อย

3 ความคิดเห็น

  1. ขอบคุณมากนะครับ

    ตอบลบ
  2. แล้วถ้า เรามี combobox1,combobox2
    โดย combobox1 //ดึงข้อมูลจากดาต้าเบสทั้งหมดมาแสดง
    เช่น ก,ข,ค
    เมื่อ เลือก ก ให้ combobox2 แสดง มะม่วง,ลำใย
    เมื่อ เลือก ข ให้ combobox2 แสดง ผู้หญิง,ผู้ชาย
    เมื่อ เลือก ค ให้ combobox2 แสดง เด็ก,ผู้สูงอายุ



    ===== ข้อมูลในดาต้าเบส ====== (เก็บ 2 Table)


    Tabel1 = เก็บ idA(1,2,3)
    name1(ก,ข,ค)
    Tabel2 = เก็บ idB(1,2,3,4,5,6)
    name2(มะม่วง,ลำใย,ผู้หยิง, ผู้ชาย,เด็ก,ผู้สูงอายุ)
    idA(1,1,2,2,3,3)

    ช่วยหน่อยนะค่ะ

    ตอบลบ
  3. ลองเอาไปปรับใช้ดูนะครับ

    http://step-juice.blogspot.com/2010/12/combobox-event-selectedindexchanged.html

    ตอบลบ