New Document Yazı Font Küçült Yazı Font Büyült

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)

Resim1

Şekil 1

Resim2

Şekil 2

Imports System

Imports System.Data

Imports System.Data.OleDb

Public 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ı belirliyoruz

DataGridView2.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 - 1

DataGridView1.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

Next

DataGridView1.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 DataGridViewRow

yeniRow.CreateCells(DataGridView2)

yeniRow.Cells(0).Value = dgvRow.Cells("CustomerID").Value

yeniRow.Cells(1).Value = dgvRow.Cells("CompanyName").Value

yeniRow.Cells(2).Value = dgvRow.Cells("ContactName").Value

yeniRow.Cells(3).Value = dgvRow.Cells("Address").Value

yeniRow.Cells(4).Value = dgvRow.Cells("City").Value

DataGridView2.Rows.Add(yeniRow)

Next

End Sub

End Class

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Bahadır ŞAHİN