У меня есть список с объектом типа данных, который я пытаюсь заполнить, а затем читать в строку. Список должен содержать данные для каждого столбца в DataGridView:Чтение элементов из списка и отображение его в виде строки
[Serializable]
public sealed class ColumnOrderItem
{
public int DisplayIndex { get; set; }
public int Width { get; set; }
public bool Visible { get; set; }
public int ColumnIndex { get; set; }
}
private void test()
{
List<ColumnOrderItem> columnOrder = new List<ColumnOrderItem>();
DataGridViewColumnCollection columns = dsgDataGrid.Columns;
for (int i = 0; i < columns.Count; i++)
{
columnOrder.Add(new ColumnOrderItem
{
ColumnIndex = i,
DisplayIndex = columns[i].DisplayIndex,
Visible = columns[i].Visible,
Width = columns[i].Width
});
}
colData = string.Join(",", columnOrder);
MessageBox.Show(colData);
}
то, что я ожидал это MessageBox должен отображать значение каждого элемента в последовательности, как DisplayIndex, ширина, Visible, ColumnIndex, DisplayIndex, ширина, Visible, ColumnIndex ...и так далее. Проблема в том, что все, что я читаю, составляет 0,1,2, что похоже на ColumnIndex для трех столбцов под dsgDataGrid, который является DataGridView. Кто-нибудь знает, как я могу вывести все данные в одну строку?
Спасибо.
Попробуйте переопределить метод ToString в ColumnOrderItem – Neijwiert