Пользовательские данные с метаданными, используемые для привязки к Gridview? - PullRequest
1 голос
/ 07 ноября 2008

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

  • текстовое поле (в этом случае я просто отображаю текст из текстового поля в виде сетки),
  • флажок (в этом случае я отображаю «Проверено» или «Не проверено» в зависимости от того, равно ли значение данных в столбце 1 или 0),
  • переключатель (в этом случае я отображаю «Вкл.» Или «Выкл.» В зависимости от того, является ли базовое значение данных столбца 1 или 0).

Проблема в том, что все типы данных столбца - это все строки в нетипизированной таблице данных, привязанные к сетке, в настоящее время. И привязка использует autoGenerateColumns. Итак:

  1. Как пометить столбец как радио, текстовое поле или флажок?
  2. Как получить доступ к этому «флажку» при привязке к сетке для отображения текста «Проверено / Не отмечено» или «Вкл / Выкл»?

Надеюсь, я правильно спросил. Уф!

Ответы [ 3 ]

2 голосов
/ 08 ноября 2008

Хорошо, я добавил расширенные свойства в столбцы DataTable с правильным типом данных и проверил их в событии RowDataBound GridView в цикле из 1..numColumns:

MyProperty = e.Row.DataItem.dataview.table.columns (I) .extendedproperties ( "TYPE")

и установите значение (e.Row.Cells (i) .Text) в зависимости от типа.

0 голосов
/ 07 ноября 2008

Я в порядке с полями шаблонов; что я не знаю, так это как добавить метаданные в мои столбцы данных, которые я могу прочитать во время привязки данных GridView. Например. Когда я связываюсь со столбцом, в котором есть данные флажка, я хочу поместить в столбец слово «Проверено» или «Не проверено», но мне нужно как-то аннотировать таблицу данных, чтобы она содержала тип данных столбца.

0 голосов
/ 07 ноября 2008

Лучший способ сделать это - отключить автогенерацию столбцов, а затем заменить BoundFields для столбцов, которые вам нужны, на TemplateFields. В ASP.NET имеется учебное пособие , которое может заполнить более подробную информацию.

...