Genau 7 fixe Zeilen erstellen für datagridview



  • Hallo,

    ich hätte gerne gewußt wie ich in einer datagridview sage, dass ich nur 7 Zeilen will je 50 px hoch und darin fixer(von mir vorgegebenen in einem array z.b. alle Wochentage) Text steht.



  • Am besten, du verwendest eine DataTable, füllst dieses mit deinen Daten und bindest es dann an das DataGridView mit "dgv.DataSource = datatable".

    Wenn der Anwender keine Zeilen löschen bzw. anlegen soll, dann kannst du dafür noch die entsprechenden Eigenschaften (AllowNew, AllowDelete oder so ähnlich - habe gerade hier kein Zugriff auf die Hilfe) für das DataGridView (dgv) auf false setzen.

    P.S. Die Höhe (und weitere Paramter) setzt du mittels der Eigenschaft DefaultRowTemplate.



  • Doch wenn ich die DataTable mit daten fülle wie du sagst muss ich auch dafür sorgen, dass z.B. genau 7 Rows inserted werden?



  • Schau dir mal in der Hilfe (MSDN) DataTable.NewRow() an. Dort gibt es ein Beispiel, wie man von Hand eine DataTable mit einer bestimmten Anzahl von Zeilen (rows) erstellt.



  • super danke dir, das msdn beispiel war top!



  • private String[] lessoncounterArray = new String[10] { "1.Stunde", "2.Stunde", "3.Stunde", "4.Stunde", "5.Stunde", "6.Stunde", "7.Stunde", "8.Stunde", "9.Stunde", "10.Stunde" };
    

    wie kann ich den obiges Array einer Tabellespalte zuweisen ohne for-schleife geht das?sprich die Zeilen 1-10 werden mit je einem String gefüllt.



  • DataGridViewRow test = new DataGridViewRow();
    test.SetValues(lessoncounterArray);
    

    Wie weise ich den die DataGridViewRow meiner DataGridView zu? Dann könnte obiger code evtl. funzen ^^



  • Du solltest keine Daten direkt im DataGridView ändern, sondern alles über die DataTable laufen lassen (sonst werden deine Daten beim Auslesen asynchron).

    Und warum willst du denn keine Schleife verwenden? Ändere doch einfach das Beispiel entsprechend deinen Anforderungen ab.


Anmelden zum Antworten