Laden...

Datagridview Column Resize - Spalten Breite ändern (datengebunden)

Erstellt von Stryder vor 11 Jahren Letzter Beitrag vor 11 Jahren 4.245 Views
S
Stryder Themenstarter:in
26 Beiträge seit 2008
vor 11 Jahren
Datagridview Column Resize - Spalten Breite ändern (datengebunden)

Ich habe ein Datagridview welches mit einer Bindingsource und einem DataSet gebunden ist.

Die Spalten werden über die Datentabelle im Dataset definiert.
Leider erscheint im Datagridview kein Pfeil um die Spaltenbreite von Hand anzupassen.

Gibt es da einen Trick diese Funktion auch bei einem datengebundenen Datagridview zu aktivieren?

AllowUserToResizeColumns ist an.
Auch ansonsten habe ich schon alles mögliche probiert ohne Erfolg.

S
178 Beiträge seit 2009
vor 11 Jahren

Leider erscheint im Datagridview kein Pfeil um die Spaltenbreite von Hand anzupassen.

Für die Spaltenbreite gibt es keinen Pfeil, du klickst entweder Doppelt auf eine Spalte und der nimmt automatisch die Spaltenbreite oder du klickst zwischen zwei Spalten und kannst dann mit gedrückter
Maus die Spaltenbreite ändern.

Nicht verwechseln mit dem "Sort Glyph", dem Pfeil für die sortieren wie hier (siehe Anhang)

Das Sortieren geht nur bei Datenquellen die die Sort-Methode überschreiben, nähere Infos dazu gibt es hier:
MSDN: ColumnSortMode

S
Stryder Themenstarter:in
26 Beiträge seit 2008
vor 11 Jahren

Vielen Dank erst einmal für deine Antwort.
Vielleicht habe ich das mit dem Cursor Symbol auch nur falsch im Kopf, aber genau diese Funktion von der du sprichst mit der man zwischen zwei Spalten die Breite anpasst funktioniert nicht.

Einzig bei der aller ersten Spalte (in deinem Screenshot mit dem schwarzen Pfeil) geht das. Diese Funktion hätte ich nun auch gerne bei den anderen Spalten.

S
178 Beiträge seit 2009
vor 11 Jahren

Hallo,

ich kanns leider gerade nich testen, erst morgen wieder, aber ich meine das hängt mit der Eigenschaft AuoSize ( DataGridViewAutoSizeColumnMode) zusammen.

Wenn ich das auf MSDN richtig gelesen habe ist das Resizen bei dem Modus "AllCells" deaktiviert.
Ich verwende eigentlich immer Fill und habe damit auch bei DataBinding Geschichten bisher noch keine Probleme mit dem Resizen gehabt.

Nähere Infos gibt es hier:
MSDN: DataGridViewAutoSizeColumnMode-Enumeration

Ich würds ansonsten nochmal morgen früh testen, ansonsten einfach mal mit der Eigenschaft rumspieln. Wie gesagt, bei Fill hatte ich eig noch nie Probleme.

S
Stryder Themenstarter:in
26 Beiträge seit 2008
vor 11 Jahren

Habe mit der Einstellung herumgespielt und jeden Wert einmal durchgetestet, aber leider kann ich weiterhin nur die Höhe Anpassen und die Breite dieser ersten "Auswahlspalte" ganz links.

Hier ein Ausschnitt aus dem Code wie die Daten an das Datagridview gebunden sind:


private DataSet dataset = new DataSet();
private DataTable original_data = new DataTable("Original Data");
private BindingSource bsource = new BindingSource();


original_data.Columns.Add("Test", typeof(string));
dataset.Tables.Add(original_data);

[...]

bsource.DataSource = dataset.Tables["Original Data"];
dataGridView1.DataSource = bsource;
[...]


S
Stryder Themenstarter:in
26 Beiträge seit 2008
vor 11 Jahren

So, Alarm zurück...
im Constructor stand noch versteckt ein

dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader

Die Einstellung aus dem Designer wurde also immer überschrieben, jetzt klappt es. 👍

Vielen Dank für den Tipp!