2009-02-10 3 views
2

У меня есть страница, разработанная со многими таблицами HTML, которые скрыты или отображаются на основе того, что должно отображаться в то время. В этих таблицах существуют различные стандартные элементы управления ASP.NET, как правило, флажки, списки переключателей, текстовые поля, метки и т. Д., И все работает отлично.ASP.NET 2.0 Вложенные Datagrid?

Я пытаюсь поставить DataGrid в одной из строк (по тегу) и получаю сообщение об ошибке:

Parser Сообщение об ошибке: System.Web.UI.HtmlControls.HtmlTableCellCollection должны иметь элементы типа " System.Web.UI.HtmlControls.HtmlTableCell. «MIIRS: DATAGRID» имеет тип «MIIRS.WebControls.DataGrid».

(MIIRS DataGrid наследует класс DataGrid и добавляет незначительные функциональные возможности, если вам интересно)

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

Итак, мой вопрос: есть ли способ заставить HtmlTable принять в нем объект DataGrid, GridView или аналогичный объект? И изменилось бы на тег таблицы asp сделать его приемлемым? Или любые другие креативные решения, позволяющие свести к минимуму разделение таблиц или аннулировать мою систему так, как я ее использую? :)

ответ

1

Я нашел один возможный ответ на вопрос. Используя теги и CSS, вы можете скрывать и отображать области HTML, поэтому, хотя я не мог получить Datagrid IN в таблице, я мог бы разместить ее за пределами таблицы и просто отобразить или скрыть ее. Когда это размещается «посередине» таблицы, требуется разбиение таблицы на две части (до и после).

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

0

Вы можете посмотреть на этом пошаговом ...

http://www.codeproject.com/KB/webforms/EditNestedDataGrid.aspx

+0

, что, безусловно, выглядит как одно решение, но слишком сложное для того, что мне нужно делать! Вместо того, чтобы скрывать и показывать таблицы, я просто скрываю и показываю отдельные с помощью CSS, и он работает лучше, и таким образом у меня могут быть элементы вне структуры HtmlTable, которые показывают или исчезают вместе с ним. – n2009

2

Вложенные таблицы И DataGrids? о человеке, вам, вероятно, не нужна такая сложность, и я уверен, что вы могли бы найти более простой способ достичь цели своего пользовательского интерфейса.

либо или что .. бежать, бежать быстро и трудно! УБЕДИТЕСЬ, ЧТО ВАШИ РУКИ ДОБАВЛЯЕТ

+0

+1 для комедии, и здравомыслящий советует избегать вложенных данных. –

+0

Нет, таблицы не вложены. Предполагалось, что datagrid находится в одной из строк (чтобы быть частью макета страницы). Однако я смог вынести его за пределы структуры таблицы и просто показать или скрыть его (я думаю, что я положил его в div). – n2009

+0

Я думаю, что у вас будет лучший снимок, идущий таким образом - динамические элементы управления в .NET - ничто но проблема, особенно когда вы начинаете отправлять назад. вывести все и использовать js/cs для управления им. если вы хотите стать более компактным, используйте AJAX для загрузки частей, которые вы не хотите показывать сразу – dfasdljkhfaskldjhfasklhf