У меня есть DataGridView в моем приложении C#. Используя дизайнер, я установил AlternatingRowsDefaultCellStyle
, а также DefaultCellStyle
свойства на самом DGV. Оба этих стиля имеют значение padding 0, 0, 5, 0
. Я не устанавливал никаких пользовательских стилей ни для одного из столбцов DGV из меню Edit Columns
в надстройке DataGridView Tasks.
В DGV есть один столбец, который является столбцом изображения, в котором я рисую небольшой график для каждой строки. Я хотел бы удалить подложку из всех ячеек в этом столбце, чтобы к ячейке не применялась подложка, которая оставляет некоторое свободное пространство в конце графика.
Каждый из следующих способов, которые я пробовал, не удаляет подложку ни из одной ячейки в столбце, но также не вызывает исключений.
// first attempt
// taken from http://social.msdn.microsoft.com/Forums/eu/winforms/thread/a9227253-8bb4-429a-a700-8a3a255afe4d
deviceGrid.Columns["GProduction"].DefaultCellStyle.Padding = new Padding(0);
// second attempt
DataGridViewCellStyle style = deviceGrid.Columns["Graph"].DefaultCellStyle; // also tried Clone()
style.Padding = new Padding(0);
deviceGrid.Columns["GProduction"].DefaultCellStyle = style;
// third attempt
DataGridViewColumn col = deviceGrid.Columns["Graph"];
DataGridViewImageCell icell = new DataGridViewImageCell();
icell.Style.Padding = new Padding(0);
col.CellTemplate = icell;
Я подозреваю, что, возможно, DefaultCellStyle
подкладки из самого DataGridView переопределяют стиль ячеек по умолчанию, который я пытаюсь установить для столбца, но если это так, что мне нужно сделать, чтобы предотвратить это?
РЕШЕНИЕ:
Пройдя по ссылке, предоставленной jmh_gr, я обнаружил, что проблема заключается в том, что DefaultCellStyle
для самого DataGridView наследуется ПОСЛЕДНИМ в ячейке, поэтому мне пришлось удалить padding из свойств DGV и применить его ко всем столбцам, кроме того, на котором я не хотел устанавливать padding.