Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Αντιγραφή από DataGridView σε DataGridView

Îåêßíçóå áðü ôï ìÝëïò tigrakas. Τελευταία δημοσίευση από το μέλος dimkasta στις 22-11-2006, 13:44. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  24-10-2006, 14:23 19101

    Αντιγραφή από DataGridView σε DataGridView

    Παίδες,

    Θέλω στο πρώτο DataGridView να έχω σε κάθε column header μαζί με το description της στήλης και ένα checkbox το οποίο μετά να ελέγχω εάν είναι checked και αν είναι τότε να κάνω copy τη στήλη στο άλλο datagridview. Με λίγα λόγια από το πρώτο datagridview να αντιγράφω τις επιλεγμένες στήλες σε ένα άλλο datagridview διατηρώντας τη μορφοποίησή τους. Γίνεται; Και:
     if Γίνεται = Ναι then Πως;

    Ευχαριστώ εκ των προτέρων για την πολύτιμη βοήθειά σας.
  •  22-11-2006, 13:21 20946 σε απάντηση της 19101

    Απ: Αντιγραφή από DataGridView σε DataGridView

    Παράδειγμα.

    Σε μια φόρμα windows βάλε δυο DataGridView και ένα Button.

    Ονόμασε τα DataGridView, DataGridView1 και DataGridView2 και ένα button με όνομα button1.

    Οι CreateTable1() και CreateTable2() φτιάχνουν δυο tables που τα χρησιμοποιούμε ως DataSources στα DataGridViews για χάριν του παραδείγματος.

    Στο click του Button ελέγχουμε το check και ενημερώνουμε το DataGridView2.

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Me.DataGridView1.DataSource = CreateTable1()

    Me.DataGridView2.DataSource = CreateTable2()

    End Sub

    Private Function CreateTable1() As DataTable

    Dim tbl1 As New DataTable("Customers")

    Dim colFName, colLastname, colSelected As DataColumn

    '1

    colFName = New DataColumn("FirstName")

    colFName.DataType = Type.GetType("System.String")

    '2

    colLastname = New DataColumn("LastName")

    colLastname.DataType = Type.GetType("System.String")

    '3

    colSelected = New DataColumn("Selected")

    colSelected.DataType = Type.GetType("System.Boolean")

    colSelected.DefaultValue = False

    tbl1.Columns.Add(colFName)

    tbl1.Columns.Add(colLastname)

    tbl1.Columns.Add(colSelected)

    Dim row As DataRow = tbl1.NewRow

    row.Item("FirstName") = "Kostas"

    row.Item("LastName") = "Karakostas"

    tbl1.Rows.Add(row)

    row = tbl1.NewRow

    row.Item("FirstName") = "Mitsos"

    row.Item("LastName") = "Karamitsos"

    tbl1.Rows.Add(row)

    row = tbl1.NewRow

    row.Item("FirstName") = "Vakis"

    row.Item("LastName") = "Karavakis"

    tbl1.Rows.Add(row)

    Return tbl1

    End Function

    Private Function CreateTable2() As DataTable

    Dim tbl2 As New DataTable("CustomersSelected")

    Dim colFName, colLastname As DataColumn

    '1

    colFName = New DataColumn("FirstName")

    colFName.DataType = Type.GetType("System.String")

    '2

    colLastname = New DataColumn("LastName")

    colLastname.DataType = Type.GetType("System.String")

    tbl2.Columns.Add(colFName)

    tbl2.Columns.Add(colLastname)

    Return tbl2

    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim tbl As DataTable = CType(DataGridView2.DataSource, DataTable)

    tbl.Rows.Clear()

    Dim NewRow As DataRow

    For Each row As DataRow In CType(DataGridView1.DataSource, DataTable).Rows

    If row.Item("Selected") = True Then

    NewRow = tbl.NewRow

    NewRow.Item("FirstName") = row.Item("FirstName")

    NewRow.Item("LastName") = row.Item("LastName")

    tbl.Rows.Add(NewRow)

    End If

    Next

    Me.DataGridView2.DataSource = tbl

    End Sub

  •  22-11-2006, 13:44 20948 σε απάντηση της 20946

    Απ: Αντιγραφή από DataGridView σε DataGridView

    Μπορείς και πιο τεμπέλικα αν είσαι fan των κουμπακίων, αν κάνεις databind και τα δύο σε δικό τους datasource με το ίδιο adapter και select function, και μετά κάνεις filter στο datasource του δεύτερου μόνο αυτά που έχουνε checked το checkbox σου.
    Simple Photography
  •  22-11-2006, 13:44 20949 σε απάντηση της 20948

    Απ: Αντιγραφή από DataGridView σε DataGridView

    Προσοχή με το Viewstate. Μπορεί να μεγαλώσει και να μην το πάρεις χαμπάρι...
    Simple Photography
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems