Entwickler-Ecke
WinForms - DataGrid optimale Breite
foxy - Di 15.07.08 09:28
Titel: DataGrid optimale Breite
Hallo Leute,
bin nun seit insg. 5h am suchen aber leider bisher noch kein brauchbares Ergebnis gefunden.
Also zum Problem, ich fülle ein Datagrid mit einer DataTable, was soweit auch gut mehr oder weniger gtu klappt, aber das ist ein anderes Problem.
Nun erscheint das Ergebnis auch in der DataGrid, aber die Columns sind recht klein und es ist noch sehr viel platz bis zum rand des Datagrid. Kann ich das irgendwie ausfüllen ? Das ich sage, da ich nur 2 Columns habe teile die breite des datagrid durch 2 und mache das selbst ?
Oder kann ich irgendwo die breite der Colums angeben ? Das ich das dann eben manuell die pixel, also die width verändere ? Bisher habe ich nichts gefunden, im internet wird meist imme rnur beschrieben wie ich etwas anzeigen lasse. Die veränderungen an Dg werden auch nur plastisch und wenn für pages gezeigt.
Hoffe jmd versteht das Problem, so zu sagen will ich einfach mein Datagrid mit den Rows ausgefüllt haben (von der breite her )
greetz
Foexle
p.s.: Hab im Netz auch etwas gefunden mit DataGridColumnStyle verknüpft mit TableSytel, was aber auch nicht so recht funktioniert hat.
JüTho - Di 15.07.08 10:16
Das einfachste dürfte DataGrid.PreferredColumnWidth sein. Jürgen
foxy - Di 15.07.08 10:27
huhu :>
danke für die schnell antwort, leider gibt es nur
.PrefferedRowHeight
:(
JüTho - Di 15.07.08 11:53
Soso, das gibt es nicht? Den fett gedruckten Teil bei
JüTho hat folgendes geschrieben: |
| Das einfachste dürfte DataGrid.PreferredColumnWidth sein. Jürgen |
habe ich per Copy/Paste aus der
SDK-Doku/MSDN einfach kopiert. Also gibt es das bei meinem NET 2.0 auf jeden Fall in der Doku.
Vielleicht solltest Du auch Copy/Paste verwenden und nicht selbst tippen (doppel-f und doppel-r beachten)? Jürgen
foxy - Di 15.07.08 11:58
ja das gibts in der hinsicht nicht weil ich ein tool für ein pda programmiere und ich nehmen mal an, dass das eine abgespeckte version der lib ist.
Ich hab es ja gerade versucht :> so ist es ja nicht ;)
Christian S. - Di 15.07.08 12:06
foxy hat folgendes geschrieben: |
| ja das gibts in der hinsicht nicht weil ich ein tool für ein pda programmiere |
Das entwickelt sich langsam zu einem Running Gag ... :roll:
foxy - Di 15.07.08 15:15
Wiso running gag?
Also für die, die das hier suchen und wissen wollen wie das geht:
Kurzanleitung
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| public void anzeigen() {
DataTable dt = new DataTable("Custom"); dt.Columns.Add("etwas"); dt.Columns.Add("etwas2"); DataRow dr ;
while ( irgendwas ) { dr = dt.NewRow(); dr["etwas"] = value1; dr["etwas2"] = value2; dt.Rows.Add(dr); } dg_ar.DataSource = dt.DefaultView; } |
das wäre die routine um die table zu füllen.
Nun aber zu dem problem mit der breite
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| private void addCustomDataTableStyle() { DataGridTableStyle ts = new DataGridTableStyle(); ts.MappingName = "Custom";
DataGridColumnStyle dgc = new DataGridTextBoxColumn(); dgc.MappingName = "etwas"; dgc.HeaderText = "etwas"; dgc.Width = 100; ts.GridColumnStyles.Add(dgc);
DataGridColumnStyle dgc2 = new DataGridTextBoxColumn(); dgc2.MappingName = "etwas2"; dgc2.HeaderText = "etwas2"; dgc2.Width = 75; ts.GridColumnStyles.Add(dgc2);
dg_ar.TableStyles.Add(ts); } |
das muss aufgerufen werden, nachdem das DataGrid gebaut wurde also in der Form.Designer.cs
so hats bei mir geklappt
greetz
Christian S. - Di 15.07.08 15:19
foxy hat folgendes geschrieben: |
| Wiso running gag? |
Es kommt in letzter Zeit häufiger vor, dass Leute mit dem Compact Framework arbeiten, aber das nicht dazu sagen.
foxy hat folgendes geschrieben: |
| das muss aufgerufen werden, nachdem das DataGrid gebaut wurde also in der Form.Designer.cs |
Das dürfte eigentlich besser in der Form.cs im Konstruktor
nach dem Aufruf von
InitializeComponent aufgehoben sein. Die Form.Desigenr.cs ist eigentlich für den Programmierer tabu.
foxy - Di 15.07.08 15:24
wiso sollte der tabu sein ? :> ... das ist wie ein include in die Form.cs ... also kann ich da doch auch rumschreiben ... naja :>
ansichtssache :)
ahso ja ... ja wie gesagt ich wusste nit das es da so viele unterschiede gibt
Christian S. - Di 15.07.08 15:30
foxy hat folgendes geschrieben: |
| wiso sollte der tabu sein ? :> ... das ist wie ein include in die Form.cs ... |
Du musst mir nicht erklären was eine partial class ist :roll:
foxy hat folgendes geschrieben: |
| also kann ich da doch auch rumschreiben ... naja :> |
Hast Du Dich mal gefragt, warum die Datei das Wort
Designer im Namen trägt? Weil sie für den Designer da ist! Und jede Änderung die Du dort machst, kann durch den Designer wieder zunichte gemacht werden!
foxy - Di 15.07.08 15:37
wus echt ? das wusst ich nit -.-
oh man ... genau deswegen hasse ich dieses klicki klicki
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!