c# - When adding a row to DataGridView, a new blank row is added and data is added to the end of the current row -


i'm trying add data manually datagridview (displaying grid view of student's attendance year). problem is, when add row of data datagridview instead of new row being created , data being added it. new blank row made , data added top row. here relevant code:

foreach (individualattendancerecord rec in databaseinterfacer.getrecords("pi404")) {     if (datagrid.columncount < rec.attendance.count)         datagrid.columncount = rec.attendance.count;      list<string> row = new list<string>();     foreach (string entry in rec.attendance)         row.add(entry);      string[] rowarray = row.toarray<string>();     datagrid.rows.add(rowarray); } 

doing code makes datagridview data in 1 line, 2 blank lines @ bottom.

any help?

edit: still stumped on this. i've simplified code , added few test rows foreach statement , don't understand why it's outputting way @ all. here new code:

foreach (individualattendancerecord rec in databaseinterfacer.getrecords("pi404"))         {             if (datagrid.columncount < rec.attendance.count)                 datagrid.columncount = rec.attendance.count;              string[] row = rec.attendance.toarray<string>();             datagrid.rows.add(row);              datagrid.rows.add("1", "2", "3");             datagrid.rows.add("one", "two", "three");         } 

and here outputs: http://i.imgur.com/f45mlod.png

i don't see why still putting information in individualattendancerecord in single line on it's own, , creating blank line , puting "1 2 3" , "one 2 three".

can see why happening? i'm being stupid.

the control showing said show:

first said grid create columns setting columncount count of items of list:

datagrid.columncount = rec.attendance.count; 

then add row containing values using add( params object[] values) method. when pass array method, adds row , use values columns:

string[] rowarray = row.toarray<string>(); datagrid.rows.add(rowarray); 

if want added values in single column, option can:

datagrid.columncount = 1; foreach (string entry in rec.attendance)     datagrid.rows.add(entry); 

Comments