Daten anzeigen mit einem DataGridView

10/10/2007 - 08:19 von Marcel Garaventa | Report spam
Hallo zusammen

Ich zeige Daten an in einer DataGridView. Diese Daten sind sehr umfangreich.
Darum muss man nach rechts scrollen um alle Daten sehen zu können. Nun möchte
ich erreichen, dass die erste Spalte in welchem sich der Schlüssel befindet
immer stehen bleibt, wenn man nach rechts scrollt und nur die übrigen Spalten
scrollen.

In Excel könnte man einfach das Fenster dementsprechen fixieren um dies zu
erreichen. Kann ich dies aber auch irgendwie in mit der DataGridView
erreichen?

Vielen Dank für Eure Hilfe.
Marcel
 

Lesen sie die antworten

#1 Peter Götz
10/10/2007 - 10:16 | Warnen spam
Hallo Marcel,

Ich zeige Daten an in einer DataGridView. Diese
Daten sind sehr umfangreich.
Darum muss man nach rechts scrollen um alle
Daten sehen zu können. Nun möchte ich erreichen,
dass die erste Spalte in welchem sich der
Schlüssel befindet immer stehen bleibt, wenn man
nach rechts scrollt und nur die übrigen Spalten
scrollen.



Das kannst Du mit

DataGridView.Columns(x).Frozen = True

erreichen.
Hier ein kleines Beispiel:

' /// Code in einer leeren Form1
Public Class Form1
Private WithEvents mDT As DataTable
Private WithEvents mDV As DataView
Private WithEvents DGV As DataGridView

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

CreateData()
InitDGV()
DGV.DataSource = mDV
DGV.AutoResizeColumns()

' *** Spalte ID fixieren
DGV.Columns(0).Frozen = True
' *** ********************
End Sub

Private Sub InitDGV()
DGV = New DataGridView
With DGV
.DefaultCellStyle.Font = _
New Font("Arial", 12)

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

.SetBounds(10, 10, _
Me.ClientSize.Width - 20, _
Me.ClientSize.Height - 20)

.Anchor = AnchorStyles.Left Or _
AnchorStyles.Top Or _
AnchorStyles.Right Or _
AnchorStyles.Bottom
End With
Me.Controls.Add(DGV)
End Sub

Private Sub CreateData()
Dim i As Integer
Dim k As Integer
Dim DR As DataRow
mDT = New DataTable
With mDT
.Columns.Add("ID", GetType(Integer))
.Columns.Add("Mon1", GetType(String))
.Columns.Add("Monat1", GetType(String))
.Columns.Add("Mon2", GetType(String))
.Columns.Add("Monat2", GetType(String))
.Columns.Add("Mon3", GetType(String))
.Columns.Add("Monat3", GetType(String))
.Columns.Add("Mon4", GetType(String))
.Columns.Add("Monat4", GetType(String))

For i = 1 To 12
DR = .NewRow
DR.Item(0) = i
For k = 1 To 7 Step 2
DR.Item(k) = MonthName(i, True)
DR.Item(k + 1) = MonthName(i, False)
Next k
.Rows.Add(DR)
Next i
.AcceptChanges()
End With
mDV = New DataView(mDT)
End Sub
End Class
' \\\ E N T E


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

Ähnliche fragen