Forums Neueste Beiträge
 

SelectAll bei DatagridView

04/06/2009 - 08:26 von Christoph Michalski | Report spam
Hallo,
ich möchte, dass beim Öffnen einer Form alle Zeilen eines DataGridViews
ausgewàhlt angezeigt werden:

Private Sub MyForm_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load

With Me.MyDataGridView
.DataSource = TestDataView
.SelectAll()
End With

End Sub

Leider wird beim Öffnen der Form immer nur die erste Zeile selekiert
angezeigt.
Wenn ich aber spàter "Me.MyDataGridView.SelectAll()" z.B. über
Klick-Ereignis eines Buttons aufrufe, dann werden tatsàchlich alle Zeilen
selekiert.
Kann mir jemand erklàren, wo der Fehler liegt?
Gruß
Christoph
 

Lesen sie die antworten

#1 Peter Götz
04/06/2009 - 14:01 | Warnen spam
Hallo Christoph,

ich möchte, dass beim Öffnen einer Form alle Zeilen
eines DataGridViews ausgewàhlt angezeigt werden:

Private Sub MyForm_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load

With Me.MyDataGridView
.DataSource = TestDataView
.SelectAll()
End With

End Sub

Leider wird beim Öffnen der Form immer nur die erste
Zeile selekiert angezeigt.



Deine TestDataView enthàlt mehr als nur eine Zeile?

Wie das nachfolgende Beispiel zeigt, sollte es dabei
eigentlich keine Probleme geben. Kopiere den folgenden
Code einfach in ein leeres Formmodul (Form1.vb)

' /// Code in Formmodul (Form1)
Public Class Form1
Private WithEvents DGV As DataGridView
Private mDT As DataTable
Private mDV As DataView


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

DGV = New DataGridView
With DGV
.Dock = DockStyle.Fill

.DefaultCellStyle.Font = _
New Font("Arial", 12)

.ColumnHeadersDefaultCellStyle.Font = _
New Font("Arial", 8, FontStyle.Bold)

End With
Me.Controls.Add(DGV)

CreateData()

DGV.DataSource = mDV
DGV.AutoResizeColumns()
DGV.SelectAll()

End Sub

Private Sub CreateData()
Dim i As Integer
Dim DR As DataRow

mDT = New DataTable
With mDT
.Columns.Add("ID", GetType(Integer))
.Columns.Add("SText", GetType(String))
.Columns.Add("LText", GetType(String))

For i = 1 To 12
DR = .NewRow
DR.Item(0) = i
DR.Item(1) = MonthName(i, True)
DR.Item(2) = MonthName(i, False)
.Rows.Add(DR)
Next
.AcceptChanges()
End With

mDV = New DataView(mDT)
End Sub

End Class
' \\\ E N T E


Nach dem Programmstart werden sofort alle
Zeilen des DGV als selektiert angezeigt.

Wenn ich aber spàter "Me.MyDataGridView.SelectAll()"
z.B. über Klick-Ereignis eines Buttons aufrufe, dann
werden tatsàchlich alle Zeilen selekiert.
Kann mir jemand erklàren, wo der Fehler liegt?



Offensichtlich an irgendeiner Stelle in Deinem Code,
die Du hier nicht zeigst.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen