Сделайте ячейки видимыми DataGridView WinForms C # - PullRequest
0 голосов
/ 15 июня 2011

Есть ли способ сделать некоторые клетки невидимыми в DataGridView?

По сути, я делаю приложение для выставления счетов, в котором определенные ячейки не имеют значения при использовании определенного параметра. В настоящее время я сделал эти ячейки ReadOnly без значения, но было бы здорово, если бы они стали невидимыми / прозрачными.

Любой бесплатный сторонний контроль тоже подойдет!

Ответы [ 4 ]

2 голосов
/ 15 июня 2011

Сначала я не думаю, что это возможно, вы можете сделать строку или столбец невидимым.Свойство Visible для ячейки доступно только для чтения и не может быть изменено в DataGridView, но парень здесь указывает на пользовательскую реализацию, показанную здесь (исходный код не предоставлен), по сути то, что ондействительно отключает ячейку и переопределяет метод OnPaint объекта DataGridViewCell.

1 голос
/ 15 июня 2011

Акшай, подумай минутку, что значит скрыть ячейку в сетке / таблице?

ты "мог бы" добавить целую строку или столбец в конце концов, что-то вроде того, что позволяет делать Excel,но одна ячейка, каково ожидаемое поведение?

с ячейкой, установленной как невидимая, все равно будет отображать прямоугольник в этом месте, белый на белый или черный поверх любой другой комбинации основных / передних основных цветов, вы будетепо-прежнему вижу хотя бы «дыру» в сетке.

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

0 голосов
/ 14 августа 2014

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

Итак:

MyGrid.rows(0).cells(0).Style.ForeColor = MyGrid.rows(0).cells(0).Style.BackColor
MyGrid.rows(0).cells(0).Style.SelectionForeColor = MyGrid.rows(0).cells(0).Style.SelectionBackColor
0 голосов
/ 15 июня 2011

Я не думаю, что это возможно.

Я не знаю, что вы уже пробовали, просмотрите http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.aspx и посмотрите, можно ли использовать какое-либо из свойств.в качестве обходного пути, в частности, свойство Style.

Просмотрите, http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcellstyle.aspx. Достаточно ли хорош цвет шрифта для того же значения, что и для фона?

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