- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
- [VB.NET] Gởi tin nhắn và file đính kèm qua ứng dụng gởi tin nhắn Whats App
- [C#] Viết ứng dụng Auto Fill list Textbox from clipboard Winform
- [TOOL] Chia sẻ phần mềm thay đổi thông tin cấu hình máy tính
- [C#] Hướng dẫn Export dữ liệu ra file Microsoft Word Template
- [C#] Chia sẻ source code tool kiểm tra domain website
- [C#] Hướng dẫn tạo file PDF sử dụng thư viện QuestPDF
[VB.NET] Hướng dẫn sử dụng Combobox trên lưới DataGridView Winform
Xin chào các bạn, bài viết hôm nay, mình sẽ hướng dẫn các bạn sử dụng Combobox trên DataGridview bằng ngôn ngữ lập trình VB.NET
[VB.NET] Tutorial Combobox in DataGridview Winform
Trong bài này, mình sẽ hướng dẫn các bạn, các chọn sản phẩm từ combobox trên datagridview.
Và khi chúng ta chọn sản phẩm nào thì sẽ hiển thị cho chúng ta chi tiết của sản phẩm đó.
VD: như số lượng, đơn vị tính, giá và thành tiền.
Sau khi chọn order các sản phẩm, các bạn có thể nhấn nút getData để lấy những thông tin sản phẩm mà các bạn đã chọn.
Ở source code bên dưới mình sử dụng Database Sqlserver 2016 nhé các bạn.
Các bạn tạo một table product và nội dung trên table product mẫu như hình bên dưới:
Và dưới đây là giao diện demo của ứng dụng:
Full source code ứng dụng sử dụng Combobox trên DataGridView VB.NET
Imports System.Data.SqlClient
Public Class Form1
Dim mcn As SqlConnection
Dim mcm As SqlCommand
Dim mda As New SqlDataAdapter
Dim mdt As New DataTable
Dim mda2 As New SqlDataAdapter
Dim mdt1 As New DataTable
Dim mds As New DataSet
Dim str As String
Dim instance As DataGridViewComboBoxColumn
Dim str2 As String
Dim value As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
str = "Data Source=.;Initial Catalog=DB_INVOICE;Integrated Security=True"
mcn = New SqlConnection With {
.ConnectionString = str
}
mcn.Open()
FillGridView1()
End Sub
Private Sub FillGridView1()
'--- Adding the values into the combo box through the List---
Dim cmbOpt1 As DataGridViewComboBoxColumn = CType(DataGridView1.Columns("Products"), DataGridViewComboBoxColumn)
'cmbOpt1.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing
Try
str = "Select * From Tbl_Products order by ID"
mda = New SqlDataAdapter(str, mcn)
Dim mdt1 As New DataTable
mda.Fill(mdt1)
'If loc.DataSource Is Nothing Then
cmbOpt1.DataSource = mdt1
cmbOpt1.DisplayMember = "PrductsName"
cmbOpt1.ValueMember = "PrductsName"
DataGridView1.DataSource = mdt
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ComboBox_SelectionChangeCommitted(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim combo As ComboBox = CType(sender, ComboBox)
Dim rowIndex = DataGridView1.CurrentCell.RowIndex
ShowDetailsByProduct(rowIndex, combo.SelectedItem)
End Sub
Public Sub ShowDetailsByProduct(ByVal rowIndex As Integer, ByVal dataRow As Object)
DataGridView1.BeginEdit(True)
Dim id_product = DirectCast(dataRow, DataRowView).Item("id")
Dim product = DirectCast(dataRow, DataRowView).Item("PrductsName")
Dim unit = DirectCast(dataRow, DataRowView).Item("unit")
Dim quantity = DirectCast(dataRow, DataRowView).Item("quantity")
Dim price = DirectCast(dataRow, DataRowView).Item("price")
DataGridView1.Rows(rowIndex).Cells("unit").Value = unit
DataGridView1.Rows(rowIndex).Cells("quantity").Value = quantity
DataGridView1.Rows(rowIndex).Cells("price").Value = price
DataGridView1.Rows(rowIndex).Cells("amount").Value = quantity * price
DataGridView1.EndEdit()
End Sub
Private Sub DataGridView1_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
If DataGridView1.CurrentCell.ColumnIndex = 0 Then
Dim combo As ComboBox = CType(e.Control, ComboBox)
If (combo IsNot Nothing) Then
RemoveHandler combo.Enter, New EventHandler(AddressOf ctl_Enter)
AddHandler combo.Enter, New EventHandler(AddressOf ctl_Enter)
RemoveHandler combo.SelectionChangeCommitted, New EventHandler(AddressOf ComboBox_SelectionChangeCommitted)
AddHandler combo.SelectionChangeCommitted, New EventHandler(AddressOf ComboBox_SelectionChangeCommitted)
End If
End If
End Sub
Public Sub ctl_Enter(sender As Object, e As EventArgs)
CType(sender, ComboBox).DroppedDown = True
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim table = GetData()
DataGridView2.DataSource = table
End Sub
Private Function GetData() As DataTable
Dim dt As DataTable = New DataTable()
For Each col As DataGridViewColumn In DataGridView1.Columns
dt.Columns.Add(col.Name)
Next
For Each row As DataGridViewRow In DataGridView1.Rows
Dim dRow As DataRow = dt.NewRow()
For Each cell As DataGridViewCell In row.Cells
dRow(cell.ColumnIndex) = cell.Value
Next
dt.Rows.Add(dRow)
Next
Return dt
End Function
End Class
Và dưới đây là video demo của ứng dụng Combobox GridView
Thanks for watching!