Не удается отформатировать столбцы в DataGridView, привязанном к списку <T> - PullRequest
2 голосов
/ 05 января 2011

Я связываю список объектов с сеткой данных и у меня возникают проблемы с отображением: Это мой пользовательский класс

public class Line
{
    private int _sequence;
    public int Sequence {get { } set { }}

    private string _dataTime;
    public string DataTime {get { } set { }}

    private string _content;
    public string Content {get { } set { }}

    public Line(int sequence, string dateTime, string content)
    {
        _sequence = sequence;
        _dataTime = dateTime;
        _content = content;
        IsBookmarked = false;
    }
}

Я связываю список:

List<Line> lines = new List<Line>();
// lines is initialized with values

DataGridView dataGrid = new DataGridView();
dataGrid.DataSource = Lines

DataGridView отображает содержимое списка без проблем. Однако столбцы очень узкие, поэтому я хочу отформатировать столбцы:

dataGrid.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;

И тут я получаю исключение:

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Проверяя dataGrid.Columns.Count во время выполнения, я вижу, что это 0, а не 3, как я ожидал.

1 Ответ

0 голосов
/ 05 января 2011

Вы можете попробовать установить свойство в сетке вместо каждого отдельного столбца:

Установите для свойства DataGridView.AutoSizeColumnsMode значение Fill, чтобы задать режим определения размера для всех столбцов, которые не переопределяют это значение.

отсюда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...