vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
RowHeader-Spalte im DataGridView sortieren 
Autor: Rainer
Datum: 07.09.16 11:54

Hallo,
ich benutze ein DataGridview, das an keine Datenquelle gebunden ist, in dem ich in der RowHeader-Spalte eine Satznumerierung eingetragen habe. Ich möchte nun dem Nutzer die Möglichkeit bieten, nach der Sortierung in einer Datenspalte (Mausklick in Kopfzeile einer Datenspalte) wieder zu der Reihenfolge entsprechend der Numerierung in der RowHeader-Spalte zurückzukehren. Diese Spalte reagiert aber auf keine Mausklicks (außer der Satzmarkierung).
Kennt jemand eine Möglichkeit zur Sortierung des DataGrids nach dem Inhalt der RowHeader-Spalte?

In diesem Zusammenhang noch eine ergänzende Frage, die damit vielleicht im Zusammenhang steht:
Alle meine programmtechnischen Einstellungsversuche, die Breite mit der Eigenschaft ROWHEADERSWIDTH zu verändern oder das Verhalten mit der Eigenschaft ROWHEADERSWIDTHSIZEMODE zu steuern, sind wirkungslos.
Gruß, Rainer.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: RowHeader-Spalte im DataGridView sortieren 
Autor: Manfred X
Datum: 07.09.16 13:16

Hallo!

Einfacher Weg:
Trage die Rowheader-Werte zusätzlich in eine (unsichtbare) Datacolumn ein und
sortiere die Datensätze nach dieser Spalte (z.B. beim Maus-Click auf die
linke obere Zelle).
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: RowHeader-Spalte im DataGridView sortieren 
Autor: Rainer
Datum: 07.09.16 14:11

Hallo Manfred X,
Dank für den Tipp. Ist aber keine sehr elegante Lösung. Eine andere gibt es nicht? Gibt es wenigstens ein Ereignis, daß einen Mausklick in das leere Titelelement der RowHeader-Spalte bearbeitet?
Gruß, Rainer.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: RowHeader-Spalte im DataGridView sortieren 
Autor: Manfred X
Datum: 07.09.16 14:40

Stichwort: Eleganz
In VB.Net/Framework ist die vorgesehene Gestaltungsweise
die Trennung der Benutzeroberfläche von den Ebenen der
Datenmanipulation und der Datenhaltung.
Daten werden nicht direkt in das Grid eingetragen, sondern
per Datenbindung in einer geeigneten Datenklasse verwaltet.

Sei 'dgv' ein DataGridView:
Private Sub dgv_CellClick(sender As Object, _
   e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv.CellClick
 
   If e.RowIndex = -1 And e.ColumnIndex = -1 Then
      'Click Links oben
   End If
 
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: RowHeader-Spalte im DataGridView sortieren 
Autor: effeff
Datum: 07.09.16 14:50

Also... Wenn das DataGridView denn DataGridView1 heißt:
DataGridView1.RowHeaders.Width=200
setzt die Breite auf 200 Pixel. Und das funktioniert problemlos.

Hier ist ein kleines Beispielprogramm, welches auf einer Form ein DataGridView "DataGridView1" und einen Button "Button1" hat:

Public Class Form1
 
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
        Dim dt As New DataTable
 
        With dt
            .Columns.Add("Vorname")
            .Columns.Add("Nachname")
            .Rows.Add("Peter", "Zar")
            .Rows.Add("Paul", "Breitner")
            .Rows.Add("Karl", "Müller")
        End With
 
        DataGridView1.DataSource = dt
 
 
    End Sub
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
      Handles Button1.Click
        DataGridView1.RowHeadersWidth = 200
    End Sub
End Class

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: RowHeader-Spalte im DataGridView sortieren 
Autor: Manfred X
Datum: 07.09.16 15:09

Wenn die "RowHeadersWidthSizeMode"-Eigenschaft auf einen der
Autosize-Werte der "DataGridViewRowHeadersWidthSizeMode"-Enumeration
festgelegt ist, "RowHeadersWidth" ignoriert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: RowHeader-Spalte im DataGridView sortieren 
Autor: effeff
Datum: 07.09.16 15:12

Das sollte standardmäßig aber nicht der Fall sein.

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel