در پاسخ به پست 18,16: استفاده از combobox در دیتاگرید. و عمل جستجو با توجه به گزینه انتخابی در combobox
نوشته شده توسط
ehsan_g
باربد جان ممنون کد خوبی بود ولی یک سوال میشه این کامبو را به یک بایندینگ سورس متصل نمود
می تونی از DataSource و DisplayMember استفاده کنی ولی برای پیدا کردن نام کالا نمی تونی از این دستور مثل اون چیزی که تو combox معمولی استفاده می کردیم استفاده کنی
DGW.Item("name_kala", e.RowIndex).Value = Id_kala.SelectedValue.ToString
برای استفاده از DataSource و DisplayMember به جای کد های برنامه ای که در پست 16 قرار دادم این رو بنویس
Imports System.Data.OleDb
Public Module Module1
Public ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath & "\DataBase.mdb"
Public myconnection As New OleDb.OleDbConnection(ConnectionString)
End Module
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
myconnection.Open()
Dim da As New OleDbDataAdapter("Select * from tbkala", myconnection)
Dim ds As New DataSet
da.Fill(ds, "tbkala")
Dim dt As DataTable = ds.Tables.Item("tbkala")
Id_kala.DataSource = dt
Id_kala.DisplayMember = "id_kala"
'Id_kala.ValueMember = "name_kala" ' چون برای جستجو کار نمی کند غیر فعال کردم --- فقط جهت اطلاع
End Sub
Private Sub DGW_CellLeave(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGW.CellLeave
DGW.EndEdit() '
If e.ColumnIndex = 0 Then
Dim idkala As Integer = DGW.Item("id_kala", e.RowIndex).Value
Dim cmd As New OleDbCommand("Select name_kala from tbkala where id_kala='" & idkala & "'", myconnection)
Dim obj As Object = cmd.ExecuteScalar
DGW.Item("name_kala", e.RowIndex).Value = CType(obj, String)
'DGW.Item("name_kala", e.RowIndex).Value = Id_kala.SelectedValue.ToString 'کار نمی کند
End If
End Sub
End Class