2015-01-05 2 views
1

У меня есть приложение winforms C#, которое позволяет пользователям выбирать/печатать строки из DataGridView. Я не могу понять, как создать новую строку для каждой строки. Я нашел несколько ответов для похожих вопросов, но никто из них не работает для меня.Добавить новую строку при печати C# string array

private void printDocument_PrintPage(object sender, PrintPageEventArgs ev) 
{ 
    Graphics graphic = ev.Graphics; 
    DataGridViewSelectedRowCollection rows = dataGridView1.SelectedRows; 
    foreach (DataGridViewRow row in rows) 
    { 
     DataRow myRow = (row.DataBoundItem as DataRowView).Row; 
     string myStr = string.Join("|", myRow.ItemArray.Select(p => p.ToString()).ToArray()); 
     //myStr += "/n/r"; 
     graphic.DrawString(myStr, new Font("Times New Roman", 10, FontStyle.Regular), Brushes.Black, 20, 225); 
    } 
} 

Все, что я пытаюсь просто присоединяет к моей строке

+0

В качестве альтернативы каждая строка имеет свой собственный оператор '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' при увеличении местоположения 'y' в соответствии с' graphic.MeasureString (...). – ja72

+0

Или нарисуйте текст, используя прямоугольник макета, и пусть система обертывает линии, чтобы создать абзац. Все зависит от того, нужен ли результат. – ja72

+0

@ ja72 Большое спасибо за вашу помощь. – Nikewatch

ответ

1

Добавление новой строки в строку так просто, как

myString += Environment.NewLine; 

Однако, вам нужно будет убедиться, что вы» re для отображения строки правильно отображает новые строки.

Смежные вопросы