ComboBox Event SelectedIndexChanged C#.net
สร้าง db_test
มี table 2 ตัว
1 tbl1 มีรายละเอียดตามนี้
2 tbl2 มีตายละเอียดตามนี้
สร้าง ComboBox มา 2 ตัว
1 ชื่อ combo1
2 ชื่อ combo2
form1.cs
มี table 2 ตัว
1 tbl1 มีรายละเอียดตามนี้
2 tbl2 มีตายละเอียดตามนี้
สร้าง ComboBox มา 2 ตัว
1 ชื่อ combo1
2 ชื่อ combo2
form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace combobox1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
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 tbl1", objConn);
da1.Fill(ds, "combolist");
combo1.DataSource = ds;//กำหนด DataSet
combo1.DisplayMember = "combolist.name_a";
combo1.ValueMember = "combolist.id_a";
objConn.Close();
//ใส่ Event ให้กับ combo1 เมื่อทำการเปลี่ยนค่าใน combo1 จะเรียกใช้ฟังก์ชั่น Combo1_SelectedIndexChanged
this.combo1.SelectedIndexChanged +=
new System.EventHandler(Combo1_SelectedIndexChanged);
}
SqlConnection objConn;
private void Form1_Load(object sender, EventArgs e)
{
}
private void Combo1_SelectedIndexChanged(object sender, System.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 tbl2 WHERE id_a = "+combo1.SelectedValue, objConn); //combo1.SelectedValue คือการดึงค่า Value ของ combo1
da1.Fill(ds, "combolist");
combo2.DataSource = ds;//กำหนด DataSet
combo2.DisplayMember = "combolist.name_b";
combo2.ValueMember = "combolist.id_b";
objConn.Close();
}
}
}
8 ความคิดเห็น
ผิดผลาดบรรทัดนี้ครับ
ตอบลบthis.combo1.SelectedIndexChanged +=
new System.EventHandler(Combo1_SelectedIndexChanged);
ไม่ error ละ โทษทีคร๊าบดูผิด
ตอบลบขอบคุณมาก ๆ เลยครับ
ตอบลบcombo2.ValueMember = "combolist.id_b"; error ตรงนี้อ่ะครับ
ลบสร้าง table และ combo box รายละเอียดเหมือนตัวอย่างหรือเปล่าครับ พอดีตอนนี้เครื่องผมไม่ได้ลง sql server ไว้ล่ะ
ตอบลบคือผมเอามา ดัดแปลงอ่ะครับ
ตอบลบDataSet ds = new DataSet();
SqlDataAdapter da1 = new SqlDataAdapter(" select DocID from Dispatch " + cmbDocID.SelectedValue, conn); //combo1.SelectedValue คือการดึงค่า Value ของ combo1
da1.Fill(ds, "combolist");//// error Incorrect syntax near '.'.
cmbDID.DataSource = ds;//กำหนด DataSet
cmbDID.DisplayMember = "combolist.Description1 ";
cmbDID.ValueMember = "combolist.DID ";
conn.Close();
select DocID from Dispatch " + cmbDocID.SelectedValue
ตอบลบคำสั่ง sql ลืมใส่ where ครับ
error ที่เดิมแต่ เปลี่ยน คำerror ครับ
ตอบลบAn expression of non-boolean type specified in a context where a condition is expected, near 'System'.