ASP.NET Datagrid - скрытие определенной строки / столбца

StackOverflow https://stackoverflow.com/questions/422010

  •  05-07-2019
  •  | 
  •  

Вопрос

Я использую Datagrid с несколькими столбцами данных (назовем это myDG), и один из этих столбцов является DateTime, привязанным к источнику данных.Его значение зависит от объекта "job", завершающего задание и присваивающего значение даты и времени.Поскольку обычно это занимает до минуты, значение в начале остается неназначенным.

Столбец asp.net определение является:

<asp:boundcolumn 
  DataField="CompletedDate" 
  HeaderText="Date Completed" 
  DataFormatString="{0:dd-MMM-yyyy <br> hh:mm:ss tt}" />

Таким образом, функциональность работает нормально, когда "задание" завершено и оно устанавливает время.Но перед этим, пока строка отображается, она отображается как

01-Январь-0001 12:00:00 утра

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

Это столбец [3] datagrid и всегда находится в первой строке (поскольку новые строки добавляются вверху).

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

-заранее спасибо!

Это было полезно?

Решение

Я делал подобные вещи в прошлом, и вот что я сделал.

Привяжите данные к столбцу, который вообще не виден.Добавьте видимый столбец для данных, которые вы хотите отобразить.Во время заполнения сетки просмотрите записи и для всех, которые имеют значение, отличное от 01 января 0001 12:00:00 утра, установите для вашей видимой строки это значение.Если оно действительно равно 01 января 0001 12:00: 00 утра, то установите значение вашей видимой строки в пустую строку или какое-либо значение по вашему выбору.(Вы даже можете установить цвет текста таким же, как цвет фона, чтобы он не отображался пользователю)

Другие советы

Я бы, вероятно, подключил OnItemDataBound, проверил значение и заменил / переформатировал, если требуется.

Я задал аналогичный вопрос о скрытии столбцов здесь.

Мне пришлось использовать событие RowCreated, чтобы скрыть определенные столбцы от пользователя (столбцы PK), и это также может помочь вам (особенно при скрытии столбцов с привязкой к базе данных).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top