c# datagridview Spalte autosizemode
Möchte ich, dass standardmäßig die Spalten verwendet, die
AutoSizeMode = DisplayedCells;
aber ich möchte auch die Möglichkeit, die Größe der Spalten ändern, aber DisplayedCells
- Typ nicht erlauben, um die Größe..
irgendwelche Ideen?
InformationsquelleAutor ghiboz | 2013-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, können Sie erreichen, dass, weil die AutoSizeMode einmal eingestellt ist DisplayedCells alle das Verhalten wird gesteuert durch design. Aber ich habe diese Idee. Sie sollten auf halten Sie Ihre Spalte (ich nehme an, die Spalten[0] für demonstrative Zwecke) AutoSizeMode fest auf
DataGridViewAutoSizeColumnMode.None
. Sie wollen, um es alsDisplayedCells
weil Sie wollen, kann die Breite der Spalte zu erweitern oder reduzieren, abhängig von der Zelle, die text-Länge. Also mein Gedanke ist jedes mal, wenn dieCellBeginEdit
beginnt, setzen wir dieAutoSizeMode
zu DisplayedCells und wenn dieCellEndEdit
beginnt, sichern wir die Breite (das ist autosized für Sie) vor dem zurücksetzen derAutoSizeMode
zuNone
, dann weisen Sie die Breite der Spalte zu, dass gespeicherte Wert. Hier ist mein code:Getestet habe ich den code und es scheint zu funktionieren OK, es ist ein Fall, funktioniert es nicht, weil wir nicht fügen Sie code hinzu, dass für den Fall, dass ist, wenn der Wert der Zelle geändert wird, durch code.
Muss ich sagen, dass dein wollen ist ein wenig seltsam, ich don ' T Pflege zu viel über die Spaltenbreite, sollte der Anwender wissen, wie zu tun.
InformationsquelleAutor King King
Können Sie rufen Sie die sub -
DataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells)
Wann immer es ist bequem, wie, nachdem Sie geladen haben, die Daten. Lassen Sie dieDataGridView.AutoSizeColumnsMode
Eigenschaft allein, und der Benutzer wird immer noch in der Lage sein, um die Größe der Spalten ändern sich, aber Sie haben eine komfortable start. Beste aus beiden Welten.Refresh()
auf dieDataGridView
vor dem AufrufAutoResizeColumns(int columnIndex, DataGridViewAutoSizeColumnsMode dataGridViewAutoSizeColumnsMode)
InformationsquelleAutor John
Reihe:
Spalte:
InformationsquelleAutor Kauê Gimenes
In einer meiner Anwendungen habe ich autosize eingestellt displayedcells. Dann, sobald die form geladen wird, ich schalten Sie automatisch, um den Benutzer zu tun sizing.
InformationsquelleAutor PHBeagle
Das einzige, was für mich gearbeitet in Visual Studio 2008 (und VB.net) war:
InformationsquelleAutor M Akin