ทำไงให้ข้อมูลใน datagrid เปลี่ยนตามข้อมูลใน combobox
เมื่อเลือกครั้งแรก โชว์ข้อมูลตามต้องการค่ะ แต่อยากให้เป็น datagridviewcomboboxcolumn
แล้วก็มีข้อมูลทั้งหมดของฟิลด์ Passenger_ID อ่าค่ะ
เมื่อเลือกครั้งที่ 2 มันขึ้นข้อมูลแถวใหม่อ่าค่ะ อยากให้มันรีเฟรชโชว์แค่ข้อมูลที่เลือกตาม combobox1
นี่โค้ดทั้งหมดค่ะCode (VB.NET)
Private Sub cbSaleCard_No_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbSaleCard_No.SelectedIndexChanged
Dim sqlCompany1 As String
Dim bs As New BindingSource
For i = 0 To dgvPassenger2.Rows.Count - 1
sqlCompany1 = "SELECT * FROM VisaSaleCard"
sqlCompany1 &= " WHERE SaleCard_No = '" & cbSaleCard_No.Text & "'"
da = New SqlDataAdapter(sqlCompany1, Conn)
Com = New SqlCommand()
With Com
.CommandText = sqlCompany1
.CommandType = CommandType.Text
.Connection = Conn
' .Parameters.Add("@Customer_ID", SqlDbType.VarChar).Value = cbSaleCard_No.Text.Trim()
dr = .ExecuteReader()
If dr.HasRows Then
dt = New DataTable()
dt.Load(dr)
bs.DataSource = dt
cbCustomer1.DataBindings.Clear()
cbAgent1.DataBindings.Clear()
cbEmbassy1.DataBindings.Clear()
dtDate1.DataBindings.Clear()
tbxNote1.DataBindings.Clear()
cbPassenger_ID.DataBindings.Clear()
'DataGridView1.DataSource = Nothing
DataGridView1.DataBindings.Clear()
cbVisaType.DataBindings.Clear()
cbWorkingDays.DataBindings.Clear()
cbEntries.DataBindings.Clear()
cbDuration.DataBindings.Clear()
tbxCost.DataBindings.Clear()
tbxSVFee.DataBindings.Clear()
tbxPax1.DataBindings.Clear()
tbxSale1.DataBindings.Clear()
tbxTTcost.DataBindings.Clear()
cbCustomer1.DataBindings.Add("Text", bs, "Customer_ID")
cbAgent1.DataBindings.Add("Text", bs, "Agent_ID")
cbEmbassy1.DataBindings.Add("Text", bs, "Embassy_ID")
dtDate1.DataBindings.Add("Text", bs, "DateOfIssue")
tbxNote1.DataBindings.Add("Text", bs, "Note")
cbPassenger_ID.DataBindings.Add("Text", bs, "Passenger_ID")
DataGridView1.DataBindings.Add("Text", bs, "Passenger_ID")
cbVisaType.DataBindings.Add("Text", bs, "VisaType")
cbWorkingDays.DataBindings.Add("Text", bs, "WorkingDays")
cbEntries.DataBindings.Add("Text", bs, "Entries")
cbDuration.DataBindings.Add("Text", bs, "Duration")
tbxCost.DataBindings.Add("Text", bs, "Cost")
tbxSVFee.DataBindings.Add("Text", bs, "ServiceFee")
tbxPax1.DataBindings.Add("Text", bs, "Pax")
tbxSale1.DataBindings.Add("Text", bs, "Sale")
tbxTTcost.DataBindings.Add("Text", bs, "Totalcost")
'ทำการโชลColumnHead dgvPassenger2
'Dim column2 As New DataGridViewComboBoxColumn
'column2 = New DataGridViewComboBoxColumn()
'column2.DataPropertyName = "Name1"
'column2.HeaderText = "Name"
' column2.Width = 120
' Me.DataGridView1.Columns.Add(column2)
'*********** ข้อมูลได้ แต่เป็น textboxcolumn *********
Dim bdd As New BindingSource
Dim Strsql As String
Strsql = Nothing
DataGridView1.DataSource = Nothing
Strsql = "Select Passenger_ID From VisaSaleCard"
Strsql &= " WHERE SaleCard_No = '" & cbSaleCard_No.Text & "'"
da = New SqlDataAdapter(Strsql, Conn)
'DataGridView1.DataSource = Nothing
da.Fill(ds, "Passenger_ID")
With DataGridView1
.DataSource = ds.Tables("Passenger_ID")
End With
'************************************
End If
dr.Close()
End With
Next
End Sub
Date :
2011-03-16 10:30:56
By :
zeenanz
จากตัวอย่าง Code ก็มาถูกทางแล้วน่ะครับ
Code (VB.NET)
sqlCompany1 = "SELECT * FROM VisaSaleCard"
sqlCompany1 &= " WHERE SaleCard_No = '" & cbSaleCard_No.Text & "'"
da = New SqlDataAdapter(sqlCompany1, Conn)
Date :
2011-03-16 21:11:27
By :
webmaster
แล้วทำไงให้เมื่อเลือกเปลี่ยนข้อมูลใน combobox1
แล้วเคลียร์ข้อมูลเดิมใน datagrid
แล้วก็แสดงเฉพาะข้อมูลใหม่ที่เลือกอ่าคะ
Date :
2011-03-17 10:21:33
By :
zeenanz
Load balance : Server 02