Die zwei Funktionen zum Clonen eines DatagridView gestatten das 1:1-Kopieren der Werte als auch der Formate. Hier die Funktionen: ''' <summary> ''' Clonen eines DatagridView (Clone ist ungebunden, spiegelt nur die Daten der Source) ''' </summary> ''' <param name="theDGVsrc">das Quell-DatagridView</param> ''' <param name="theDGVdest">das Ziel-DatagridView</param> Public Sub CloneDGV(ByVal theDGVsrc As DataGridView, ByVal theDGVdest As DataGridView) Dim dr As DataGridViewRow, i As Short With theDGVdest ' initialisieren des Ziel-DGV .RowCount = 1 .ColumnCount = theDGVsrc.ColumnCount ' zunächst die Spaltenstile clonen For i = 0 To theDGVsrc.ColumnCount - 1 .Columns(i).HeaderText = theDGVsrc.Columns(i).HeaderText .Columns(i).DefaultCellStyle = theDGVsrc.Columns(i).DefaultCellStyle.Clone Next ' jetzt alle Zeilen clonen For i = 0 To theDGVsrc.RowCount - 1 ' geclonte Zeile erzeugen und dem Ziel-DGV zufügen dr = CloneDGVRowWithValues(theDGVsrc.Rows(i)) .Rows.Add(dr) Next End With End Sub ''' <summary> ''' Clonen einer DatagridView-Row; ausschließlich Werte ''' </summary> ''' <param name="theRow">eine Zeile des DatagridView</param> ''' <returns>geclonte Zeile</returns> Public Function CloneDGVRowWithValues(ByVal theRow As DataGridViewRow) As DataGridViewRow CloneDGVRowWithValues = CType(theRow.Clone(), DataGridViewRow) ' die Werte aus den Zellen der Quell-Zeile clonen For i As Short = 0 To theRow.Cells.Count - 1 CloneDGVRowWithValues.Cells(i).Value = theRow.Cells(i).Value Next Return CloneDGVRowWithValues End Function Allerdings muss man noch dazu sagen, dass DGV-globale Eigenschaften von diesen Funktionen nicht kopiert werden. Damit meine ich beispielsweise in etwa solche Eigenschaften wie: With dgv .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells .AllowUserToOrderColumns = False .AllowUserToDeleteRows = False .AllowUserToAddRows = False .RowHeadersDefaultCellStyle.Font = .DefaultCellStyle.Font .DefaultCellStyle.SelectionBackColor = .DefaultCellStyle.BackColor .DefaultCellStyle.SelectionForeColor = Color.Black For Each c As DataGridViewColumn In .Columns c.SortMode = DataGridViewColumnSortMode.NotSortable Next .ReadOnly = True End With o.a. Die kann man so duplizieren: myDestDGV = mySrcDGV und danach die obigen Funktionen anwenden. Dieser Tipp wurde bereits 14.313 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. Neu! sevCoolbar 3.0 Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |