Vatansever
Asistan
- Katılım
- 23 Ağustos 2007
- Mesajlar
- 405
- Reaksiyon puanı
- 1
- Puanları
- 18
Bir .mdb access dosyasında SIRA BASLIK NOTLAR sütunları var ben bunu bir tablo oluşturdum ve dataset'ten çektiğim verileri bu datatable'ye doldurdum ve bu datatable'deki verilerden BASLIK sütunundaki bilgileride Listbox içine aktardım sorunum şu ListBox içinde bir seçim yaptığımda BASLIK sütunundaki bu seçimin NOTLAR sütunundaki karşılığının TextBox içinde görüntülenmesini istiyorum bunu nasıl yapabilirim?
Şimdi diyebilirsiniz doğrudan datasetten yükle diye evet datasetten bu iş çok kolay oluyor ama o zaman listbox içindeki değerler üzerinde işlem yapılamıyor (salt okunur oluyor) DataTable kullanarak ListBox doldurulduğunda her işlem yapılabiliyor bu nedenle DataTable kullandım.
Şimdi diyebilirsiniz doğrudan datasetten yükle diye evet datasetten bu iş çok kolay oluyor ama o zaman listbox içindeki değerler üzerinde işlem yapılamıyor (salt okunur oluyor) DataTable kullanarak ListBox doldurulduğunda her işlem yapılabiliyor bu nedenle DataTable kullandım.
Kod:
Imports System.Data.OleDb
Public Class Form1
Dim dt As New DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ListBox1.Sorted = True
Dim sutun(0) As DataColumn
Dim baglantikodu As String = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Bilgi.mdb;Persist Security Info=True;Jet OLEDB:Database Password=##"
Dim baglan As OleDbConnection
Dim da As OleDbDataAdapter
Try
baglan = New OleDbConnection(baglantikodu)
da = New OleDbDataAdapter("Select * from BilgiBankasi", baglan)
dt.Clear()
da.Fill(dt)
sutun(0) = dt.Columns("SIRA")
dt.PrimaryKey = sutun
baglan.Close()
Me.ListBox1.DisplayMember = "BASLIK"
Me.ListBox1.ValueMember = "SIRA"
Me.TextBox1.DataBindings.Clear()
Dim temp As String = Nothing
For i As Integer = 0 To dt.Rows.Count - 1
temp = dt.Rows(i)(1).ToString()
ListBox1.Items.Add(temp)
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
' İŞTE DÜZGÜN ÇALIŞMAYAN KOD BURDA ALTTAKİ KOD LİSTBOX'TA TIKLADIĞIM SEÇENEĞİN
' NOTLAR SÜTUNUNDAKİ BİLGİSİNİN TEXTBOX'DA GÖRÜNTÜLENMESİNİ İSTİYORUM VE MÜMKÜNSE
' YAPILAN SEÇİMİN İNDEX NUMARASINIDA İSTİYORUM BAŞKA YERLERDE KULLANMAK İÇİN LAZIM OLACAK
If ListBox1.SelectedIndex > -1 Then
Dim index_numarasi As Integer = Convert.ToInt32(dt.Rows(ListBox1.SelectedIndex)(0))
Dim Karsiligi As String = Convert.ToString(dt.Rows(ListBox1.SelectedIndex)(2))
Me.TextBox1.Text = Karsiligi
End If
End Sub
End Class