У меня довольно простая общая проблема программирования, но я не могу получить результаты, которые я ищу. По сути, у меня есть DataGridView с именем dataGridView3 (2 столбца), и я хочу, чтобы пользователь мог вводить столько полей, сколько он / она желает, и создавать серии строк на основе этих полей. Моя проблема в том, что сформированная строка может содержать только 4 элемента dataGridView одновременно, но в моей текущей реализации она помещает каждую строку в первую строку (см. Пример).
Вот код, который я сейчас использую.
for (int i = 0; i < dataGridView3.Rows.Count; i++)
{
if (i % 4 == 0)
{
newPA61String += "PA61";
for (int j = i; j < dataGridView3.Rows.Count - 1; j++)
{
newPA61String += " " + (dataGridView3.Rows[j].Cells[0].Value.ToString().PadLeft(5, leftPaddingChar))
+ " " + (dataGridView3.Rows[j].Cells[1].Value.ToString().PadRight(6, rightPaddingChar));
}
newPA61String = newPA61String.PadRight(56, rightPaddingChar);
newPA61String += "\r\n";
}
}
Используя 6 строк данных, этот код дает мне вывод:
PA61 00001 a 00002 b 00003 c 00004 d 00005 e 00006 f
PA61 00005 e 00006 f
Я бы хотел, чтобы это выглядело так; однако я не могу манипулировать этим так, как хочу:
PA61 00001 a 00002 b 00003 c 00004 d
PA61 00005 e 00006 f
Моим первым инстинктом было просто обрезать первую строку после того, как указанная длина была достигнута, но строка формируется путем размещения всего на одной строке, разделенной на «\ r \ n», таким образом, это устранит что-либо после первого 4 колонки.
Я знаю, что решение, вероятно, довольно очевидно, но у меня один из тех дней ...
Заранее спасибо, и если вам нужна дополнительная информация, пожалуйста, спросите.