DataGridView ler Arasında Veri Gönderimi
Bu makalemizde DataGridView1 de seçili olan satırları Cells metodunu kullanarak DataGridView nesnesine taşıyacağız. Ayrıca DataGridView1 de seçtiğimiz satırların Backcolor rengini değiştireceğiz. (Şekil 2)
Şekil 1
Şekil 2
Imports
SystemImports
System.DataImports
System.Data.OleDbPublic
Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim baglan As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb;") Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select CustomerID,CompanyName,ContactName,Address,City From Customers", baglan) Dim ds As DataSet = New DataSet()da.Fill(ds,
"Customers")DataGridView1.DataSource = ds.Tables(0)
'DataGridViewdaki sutun sayısını belirliyoruzDataGridView2.ColumnCount = 5
'DataGridViewdaki sutunlara isim veriyoruz. With DataGridView2.Columns(0).Name =
"CustomerID".Columns(1).Name =
"CompanyName".Columns(2).Name =
"ContactName".Columns(3).Name =
"Address".Columns(4).Name =
"City" End With End Sub Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick 'DataGridView2.Rows.Clear() 'DataGridView1 deki seçili satırların backcolor renklerini 'değiştiriyoruz. Dim i, j As Integer For i = 0 To DataGridView1.RowCount - 1 Dim x As Integer = DataGridView1.CurrentRow.Index 'DataGridView row un olduğu yeri tanımladık. If i = x Then For j = 0 To DataGridView1.Rows(i).Cells.Count - 1DataGridView1.Rows(i).Cells(j).Style.BackColor = Color.SlateGray
'Seçili olan row un rengini değiştirdik.DataGridView1.Rows(i).Cells(j).Style.ForeColor = Color.Yellow
'Seçili olan row un yazı rengini değiştirdik. Next End If NextDataGridView1.Refresh()
'DataGridView1 deki seçili satırları DataGridView2 ye cells metodu 'ile aktarıyoruz. For Each dgvRow As DataGridViewRow In DataGridView1.SelectedRows Dim yeniRow As New DataGridViewRowyeniRow.CreateCells(DataGridView2)
yeniRow.Cells(0).Value = dgvRow.Cells(
"CustomerID").ValueyeniRow.Cells(1).Value = dgvRow.Cells(
"CompanyName").ValueyeniRow.Cells(2).Value = dgvRow.Cells(
"ContactName").ValueyeniRow.Cells(3).Value = dgvRow.Cells(
"Address").ValueyeniRow.Cells(4).Value = dgvRow.Cells(
"City").ValueDataGridView2.Rows.Add(yeniRow)
Next End SubEnd
ClassBir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Bahadır ŞAHİN