DataGridПосмотрите, как отображать линии сетки во всей клиентской области? - PullRequest
0 голосов
/ 24 июня 2010

Есть ли способ включить линии сетки во всей клиентской области datagridview, вместо того чтобы они стали видимыми при добавлении строк?

Я прочитал msdn, но не нашел ничего полезного.

C #, winforms, visual studio 2008

Спасибо, Р.

Ответы [ 5 ]

3 голосов
/ 02 июля 2010

Вы могли бы создать подкласс DataGridView, переопределить его событие PaintBackground и добавить изображение из нескольких строк. См. Здесь и здесь для некоторых примеров.

Я понимаю, что это немного хак.:)

1 голос
/ 06 июля 2010

Я бы выбрал между предложением Энди и виртуальным режимом.

В виртуальном режиме просмотра сетки вам потребуется предоставить интерфейс к хранилищу данных путем обработки ряда событий из элемента управления.В таком случае вы можете установить свойство RowCount напрямую, а затем решить в событии CellValueNeeded, содержит ли ячейка данные или нет.Вам нужно будет определить количество строк, которые будут заполнять ваш элемент управления.http://msdn.microsoft.com/en-us/library/ms171622.aspx

0 голосов
/ 05 июля 2010
int MAX_ROWS = 10;
int MAX_CELLS = 10;
dataGridView1.ColumnCount = MAX_CELLS;
int currentRowIndex = dataGridView1.Rows.Add(MAX_ROWS);
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    foreach (DataGridViewCell cell in row.Cells)
    {
        cell.ValueType = typeof(String);
        cell.Value = "This is the: " + cell.OwningColumn.Index.ToString() + 
            " " + cell.OwningRow.Index.ToString() + " cell";
    }
}

Я знаю, что это не лучшее решение, но оно не требует создания нового пользовательского элемента управления, подобного DataGridView, с настройкой фонового изображения.

0 голосов
/ 03 июля 2010

Я столкнулся с этой проблемой, когда у меня в сетке данных было количество строк, которое было взято из файла конфигурации. В случае небольшого количества строк сетка данных выглядит некрасиво с серым фоновым цветом. После обсуждения мы решили сделать динамическую высоту сетки данных. Это, в свою очередь, берет родительское окно, в котором расположена сетка данных, для изменения его высоты. Теперь это выглядит довольно хорошо. Это не правильный ответ на ваш вопрос, а скорее рассмотреть вопрос стиля.

0 голосов
/ 24 июня 2010

Вы можете добавить кучу фиктивных строк в сетку и сделать их только для чтения.

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