 |
|
การเลือกข้อมูลจาก Listbox เป็นหมวดสินค้า เพื่อแสดงที่ DataGrid เป็นสินค้าที่อยู่ในหมวดนั้น ๆ ครับ |
|
 |
|
|
 |
 |
|
สวัสดีครับ รบกวนถามพี่ ๆ ในบอร์ดหน่อยครับ
ผมมีตาราง Product กับ Category ซึ้งเป็นตารางสินค้าและหมวดหมู่สินค้า แล้วหน้า ออกแบบมี ผมต้องการให้ Listbox แสดง หมวดสินค้า
และมี Datagrid แสดงข้อมูลสินค้าในหมวดนั้น ๆ มีอะไรมั้งครับ คือผมต้องการให้ มัน เช็ค Category ID ที่อยู้ทั้งใน ตารางสินค้า กับ ตารางหมวดสินค้า แล้วนำมาโชว์ครับ แต่อันนี้เป็นที่ผมทำ แต่จะมีส่วนหนึ่งที่มีคนช่วยดูให้
นี้โค๊ด Listbox ครับ
Code
Private Sub listview()
commandSQL = "SELECT * FROM CategoryProduct"
commandSET = New SqlCommand(commandSQL, connectSET)
adapterSET = New SqlDataAdapter(commandSET)
datagetSET = New DataSet
adapterSET.Fill(datagetSET, "Categories")
ListBox1.DataSource = datagetSET.Tables("Categories")
ListBox1.DisplayMember = "categoryName"
ListBox1.SelectedIndex = 0
End Sub
ต่อมาโค๊ด Datagrid ครับ
Code
Private Sub dataview(ByVal catID As Integer)
If Not (datagetSET.Tables("Product") Is Nothing) Then
datagetSET.Tables("Product").Clear()
End If
commandSQL = "SELECT p.productID, cp.categoryName, p.productName FROM Product p join CategoryProduct cp on p.categoryPID = cp.categoryPID WHERE p.categoryPID = " & (catID + 1)
commandSET.CommandText = commandSQL
adapterSET.SelectCommand = commandSET
adapterSET.Fill(datagetSET, "Product")
DataGridView1.DataSource = datagetSET.Tables("Product")
End Sub
มาถึงตรงนี้ ส่วนตรงสีแดงๆ คือมีคนมาดูโค๊ดให้ผมแหละเขาเพิ่มตัวนั้นขึ้นมา รบกวนอธิบายได้ไหมครับ มันมายังไง และ ทำงานยังไง
ส่วนต่อมาคือ ผู้ที่แก้โค๊ดให้ผม เค้าบอกว่าตัวนี้สามารถใช้ได้ไม่มีปัญหา แต่จะมีปัญหาในกรณีที่มีการลบข้อมูล ซึ่งหน้าคอลโทลผม มีการลบข้อมูลอยู่ด้วย ผมจึงอยากขอให้ผู้รู้รบกวนช่วยผมหน่อยครับ มีวิธีอื่นที่ดีกว่านี้ไหมครับ รบกวนด้วย
ต่อมาเป็น ตัว Index ครับ
Code
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
'bindingSET.Position = ListBox1.SelectedIndex
dataview(ListBox1.SelectedIndex)
End Sub
ผมยังไม่ค่อยมีความรู้ด้านการเขียนโปรแกรมเท่าไหร่ รบกวนผู้ชำนาญ ช่วยผมหน่อยนะครับ
ขอบคุณครับผม
Tag : .NET, Ms SQL Server 2012, VB.NET, VS 2012 (.NET 4.x), Windows
|
|
 |
 |
 |
 |
Date :
2015-07-07 08:59:15 |
By :
Bypass2CMD |
View :
1055 |
Reply :
3 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ปัญหาคือ ?
|
 |
 |
 |
 |
Date :
2015-07-07 09:33:17 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อยากทราบว่ามีวิธี ที่ใช้ในการ เช็ค categoryID ในตารางสินค้า กับ categoryID ในคาราง Category เพื่อดึงข้อมูลมาเพื่อแสดงอย่างไร ตรงที่่ผมมาร์กไว้สีแดง มันไม่ใช่วิธีที่เช็ค คีย์จากทั้งสองตารางเพื่อแสดงข้อมูล ถูกไหมครับ แต่รบกวนอธิบ่ายหน่อยว่ามัน มีหลักการยังไง ผมอยากทราบครับ
|
 |
 |
 |
 |
Date :
2015-07-07 09:50:20 |
By :
Bypass2CMD |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
Private Sub dataview(ByVal catID As String)
If Not (datagetSET.Tables("Product") Is Nothing) Then
datagetSET.Tables("Product").Clear()
End If
commandSQL = "SELECT p.productID, cp.categoryName, p.productName FROM Product p join CategoryProduct cp on p.categoryPID = cp.categoryPID WHERE p.categoryPID = " & catID
commandSET.CommandText = commandSQL
adapterSET.SelectCommand = commandSET
adapterSET.Fill(datagetSET, "Product")
DataGridView1.DataSource = datagetSET.Tables("Product")
End Sub
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
dataview(ListBox1.GetItemText(ListBox1.SelectedItem))
End Sub
|
 |
 |
 |
 |
Date :
2015-07-07 11:35:47 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|