2016-04-08 24 views
0

DataGridview satırlarının bir koleksiyonunu yazdırmak için bu kod bloğum var. Her satırı ayrı bir satırda yazdırmak istiyorum, ancak hepsi aynı satırda yazdırılıyor. Herhangi bir fikir?DataGridViewRowCollection yazdırma sorunu (yeni satır görünmez)

see the screenshot

foreach (DataGridViewRow row in rows) 
{ 

DataRow myRow = (row.DataBoundItem as DataRowView).Row; 

string myStr = string.Join("|", myRow.ItemArray.Select(p => p.ToString()).ToArray()); 

myStr += Environment.NewLine; 

graphics.DrawString(myStr, new Font("Courier New", 12), new SolidBrush(Color.Black), startX, startY + Offset); 

} 

cevap

1

Sen startY koordinat artan değiliz.

bu gibi bazı nedenlerden dolayı, her satır için bir büyük dize olmak için,

startY = startY + 20; 

önce

graphics.DrawString(...) 

ekle bunu yapmak:

string myStr = string.Empty; 

foreach (DataGridViewRow row in rows) 
{ 
    DataRow myRow = (row.DataBoundItem as DataRowView).Row; 
    string myStr = string.Join("|", myRow.ItemArray.Select(p => p.ToString()).ToArray()); 
    myStr += "\r\n"; 
} 

graphics.DrawString(myStr, new Font("Courier New", 12), new SolidBrush(Color.Black), startX, startY + Offset);