سلام دوست من
ابتدا شما ستونهای دیتاکراید رو از طریق کد نویسی اضافه کنید
Dim col_id_kala As DataGridViewTextBoxColumn
Dim col_kala_name As DataGridViewComboBoxColumn
Public Sub Design_Gridview(ByRef Gridview As DataGridView)
' دیتاگراید ویودر حالت اجرا
Gridview.DataSource = Nothing
Gridview.Columns.Clear()
Gridview.Rows.Clear()
Gridview.Refresh()
Gridview.AutoGenerateColumns = False
col_id_kala = New DataGridViewTextBoxColumn
With col_id_kala
.Name = "col_id"
.DataPropertyName = "id_kala"
.HeaderText = "کد کالا"
.Width = 80
End With
col_kala_name = New DataGridViewComboBoxColumn
With col_kala_name
.Name = "col_kala_name"
.DataPropertyName = "name_kala"
.HeaderText = "شــــرح کالا"
.Width = 200
.AutoComplete = True
.DisplayStyleForCurrentCellOnly = True
.FlatStyle = FlatStyle.System
End With
Gridview.Columns.Add(col_id_kala )
Gridview.Columns.Add(col_kala_name )
End Sub
سپس روالی برای پر کردن یک کامبوباکس بسازید
Private Sub fill_sombodg(ByVal ComboBox1 as DataGridViewComboBoxColumn )
ComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
ComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems
Dim CNN As OleDbConnection
Dim DAP As OleDbDataAdapter
Dim DS As DataSet
Dim cnnstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb"
CNN = New OleDbConnection(cnnstr)
cmd = New OleDbCommand
DAP = New OleDbDataAdapter("select * from table1", cnnstr)
DS = New DataSet
DAP.Fill(DS, "table1")
ComboBox1.DataSource = DS.Tables("table1")
ComboBox1.DisplayMember = "name_kala"
ComboBox1.ValueMember = "id"
DAP.Dispose()
End Sub
برای صدا زدن در فرم لود ابتداDesign_Gridview رو صدا بزن با یک ارگومان که همون دیتاکراید ویو شماست سپس روال بعدی مثل fill_sombodg(DG.Columns("col_kala_name")