Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Datagridview Column Resize - Spalten Breite ändern (datengebunden)
Stryder
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

Datagridview Column Resize - Spalten Breite ändern (datengebunden)

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Siedlerchr
myCSharp.de - Member



Dabei seit:
Beiträge: 178
Herkunft: NRW

beantworten | zitieren | melden

Zitat
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
Attachments
private Nachricht | Beiträge des Benutzers
Stryder
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Siedlerchr
myCSharp.de - Member



Dabei seit:
Beiträge: 178
Herkunft: NRW

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Stryder
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

beantworten | zitieren | melden

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;
[...]

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Stryder am .
private Nachricht | Beiträge des Benutzers
Stryder
myCSharp.de - Member



Dabei seit:
Beiträge: 26

Themenstarter:

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers