скрытие столбцов сетки данных (asp.net/c#) - PullRequest
0 голосов
/ 06 ноября 2010

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

Я пробовал:

 ProductsGrid.Columns[6].ControlStyle.Width = -1;

и

 ProductsGrid.Columns[6].Visible = false;

Примечание: в этих столбцах есть данные. Возможно, это часть моей проблемы. Кроме того, мне нужно, чтобы заголовки столбцов исчезли.

Спасибо за любые советы.

РЕДАКТИРОВАТЬ: я делаю их невидимыми в моей команде нажатия кнопки. Я не использую сгенерированные столбцы, поэтому я считаю, что установлено значение false. Я немного сыт по горло этой проблемой и ушел с работы, и вернусь не раньше середины следующей недели, поэтому, возможно, мне придется отложить поиск решения до тех пор. Спасибо всем за комментарии, скоро посмотрю. Извините, я не могу дать больше отзывов своевременно.

Редактировать х2: Должен ли я справиться с этим в какой-то обратной передаче или как-то еще?

1 Ответ

2 голосов
/ 06 ноября 2010

Если у вас AutoGenerateColumns = "True", то сделать их невидимыми просто невозможно, просто установив visible = False, поскольку автоматически созданные поля связанных столбцов не добавляются в коллекцию Columns .

VB.Net, но я думаю, вы поняли:

Private Sub setPrinterView()
  For Each tr As TableRow In DirectCast(Me.GridView1.Controls(0), Table).Rows
      For i As Int32 = 1 To 4
          If tr.Cells.Count - i < 0 Then Exit For
          tr.Cells(tr.Cells.Count - i).Visible = False
      Next
   Next
End Sub

Если для AutogenerateColumns установлено значение False, необходимо только сделать столбцы невидимыми, не перепривязывая сетку.

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