2008-11-07 2 views
1

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

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

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

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

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

ответ

0

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

0

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

2

Okay- Я добавил расширенные свойства к DataTable столбцов с соответствующим типом данных и проверили их на событии RowDataBound в GridView в цикле от 1..numColumns:

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

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