У меня есть класс, который хранит данные в DataTable
, чтобы упростить его привязку к DataGridView
. Однако я обнаружил, что DataTable
имеет слишком много накладных расходов и потребляет слишком много процессорного времени.
Я хотел бы заменить его более специализированной табличной структурой с меньшей сложностью, чтобы ускорить работу. Но должна быть возможность привязать его к DataGridView
. Нет необходимости редактировать, добавлять или удалять данные через DataGridView
.
Это очень простая c попытка показать, что я пытаюсь сделать:
public class SimpleTable
{
private Dictionary<string, Type> columns;
private List<object[]> rowList;
public SimpleTable()
{
columns = new Dictionary<string, Type>();
rowList = new List<object[]>();
columns.Add("Column1", typeof(string));
columns.Add("Column2", typeof(double));
columns.Add("Column3", typeof(double));
}
public void AddRow(params object[] values)
{
// do some checks
rowList.Add(values);
}
public object Item
{
get
{
return rowList[rowIndex][columnIndex];
}
set
{
rowList[rowIndex][columnIndex] = value;
}
}
public List<object[]> Rows
{
get
{
return rowList;
}
}
}
В На рисунке ниже (верхняя половина) вы можете увидеть, как отображаются данные, когда я привязываю свойство Rows
к DGV. Это не то, что я хочу, а нижняя половина.
введите описание изображения здесь
Как мне создать класс, который будет отображаться в виде «таблицы» в DataGridView
?