DataGridView Anfängerfragen...
-
Hallo,
2 Fragen habe ich zu DataGridView:
1. Wie heißt der Button/Header links oben in der DataGridView und wie deaktiviere ich diesen?
2. Wie sage ich meiner DataGridView, dass alle Rows die existieren sich in der Höhe gleichmäßig ausbreiten in der DataGridView?
-
zu 2) Was meinst Du Damit? Hilft AutoResizeRow()?
-
example:
http://img385.imageshack.us/img385/9586/testby5.pngmit AutoSizeRowsMode habe ich alles durchprobiert es wird nicht wie auf dem Bild. Alle 5 Zeilen sollen immer so immer gleichmäßig so hoch werden insgesamt wie die datagridview selbst.
-
Du solltest Dir überlegen, das die Verwendung der Software ziemlich ätzend werden kann mit einem solchen verhalten. Zumal Dir das einige neue Probleme beschert wie z.B. Mindesthöhe.
-
Knuddlbaer schrieb:
Du solltest Dir überlegen, das die Verwendung der Software ziemlich ätzend werden kann mit einem solchen verhalten. Zumal Dir das einige neue Probleme beschert wie z.B. Mindesthöhe.
Ich habe GENAU 5 Zeilen in meiner DataGridView und die sind fix sprich das ändert sich NIE. Daher sehe ich kein aufkommendes Problem darin, die Zeilenhöhe so anzupassen, dass Zeilenhöhe von 5 Zeilen == Zeilenhöhe der DataGridView ist.
Bitte sag mir wenn ich falsch liege:
Man müsste im Event SizeChanged der DataGridView die RowHeight berechnen und setzen z.B. so:
private void datagridviewWochenplaner_SizeChanged(object sender, EventArgs e) { Console.WriteLine("Windows Forms wird resized so auch die DGV!"); int headerHeight = datagridviewWochenplaner.ColumnHeadersHeight; int height = datagridviewWochenplaner.Size.Height - headerHeight; int rowHeight = height / datagridviewWochenplaner.RowCount; // -1; datagridviewWochenplaner.RowTemplate.Height = rowHeight; }
Leider funktioniert obiger code nicht... es scheint so als resized die DataGridView aber das Setzen der neuen RowHeight funzt nicht, kannst du mir helfen bitte?
-
Schau mal ob Dich RowHeightInfoNeeded-Ereignis weiter bringt.
-
Ja aber ich muss doch die RowHeight jedesmal setzen wenn die DGV resized wird, nicht wenn das Event RowHeightInfoNeeded auftritt. Verstehe den Zusammenhang nicht. Las gerade im google, dass RowTemplate nicht zum setzen der Height geeignet ist...
-
ok DataGridViewRow.Height = 10; setzt die RowHeight auf 10 pixel Höhe. Doch wenn ich von
DataGridViewRow dgvRow = new DataGridViewRow ();
eine neues Objekt erstelle, wie binde ich dieses "Row"-Objekt an meine bestehende datagridviewWochenplaner ?
-
Da ich immer ne DataView dazwischen hatte kann ich Dir das für ne reine GrdiView nicht sagen. Aber die MSDN ist auch für Dich da, einfach mal ein wenig lesen.
(Es ist jetzt unbekannt ob Du die DGV unbound nutzt oder an ein DataSet gebunden hast und und und)Die Methode die Du suchst hat vermutlich den Namen Add, AddRow oder irgendwas anderes in die Richtung. Wie gesagt, einfach mal die Hilfe benutzen.