2009-06-14 4 views
0

Я использую проект типа VSTS 2008 + C# ASP.Net. Мое требование: я хочу, чтобы разработчик пользовательского интерфейса работал независимо от разработчика бизнес-логики. Поскольку разработчик пользовательского интерфейса (обычно) не знает, как заполнить элемент управления сеткой, используя код для подключения к базе данных. Итак, мой вопрос заключается в том, есть ли способы генерации поддельных данных для управления Grid View без написания кода для подключения к базе данных (особые потребности для дизайнера пользовательского интерфейса), чтобы позволить дизайнеру пользовательского интерфейса ощущать, какие данные будут выглядеть при подключении базы данных чтобы облегчить дизайнерский дизайн пользовательского интерфейса)?Проблема с заполнением данных в сетке ASP.Net

ответ

3

Почему вы не генерировать

List<Type>() 

где Тип является класс с такой же структурой, как ваш реальный стол (ы), заполнить его данными и привязать его к GridView?

+0

Использование списка имеет проблему с тем, что если у меня есть 50 разных видов гридов в моем приложении, которые нужно настроить дизайнеру пользовательского интерфейса, мне нужно написать 50 разных списков. Это еще одна накладная, правильно? – George2

+2

Вам нужно будет где-то повториться, если вы не хотите предоставлять реальные данные вашему дизайнеру пользовательского интерфейса. Вы можете структурировать свое приложение в слоях, например, в разделах «Доступ к данным, бизнес-логики и презентации». В такой архитектуре вы можете предоставить поддельные данные со своего уровня доступа к данным со списками. В конце концов, мое предложение работает в зависимости от архитектуры вашего приложения, которое я не знаю. – eKek0

+0

. Вы имеете в виду, что в .Net более конкретно? Список или что-то еще? – George2

1

Вы также можете создать свой собственный DataTable в коде позади и заполнить его тем, что вы хотите, чтобы ваш дизайнер пользовательского интерфейса играл.

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

Вы также можете использовать несколько фиктивных XML-файлов для привязки к gridview - может быть проще или быстрее и потенциально позволит вам отключить их для просмотра разных данных.

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

+0

«Создайте свой собственный DataTable в коде» - я хочу узнать больше о ваших комментариях. Например, вы имеете в виду, что я создаю DataTable и вручную заполняю некоторые данные, или вы имеете в виду, что я создаю DataTable и подключаюсь к базе данных? – George2

+0

1. «Используйте несколько фиктивных XML-файлов для привязки к gridview» - можем ли мы использовать XML для привязки к gridview? Интересуюсь. Не могли бы вы порекомендовать мне несколько образцов для изучения? 2. «Почему бы не написать базовый класс для страниц, которые будут визуализировать эти представления для наследования, которые обрабатывают все ваши поддельные данные?» - У меня около 50 разных таблиц, поэтому мне нужно 50 разных видов сетки. 50 разных таблиц похожи на таблицу сотрудников, таблицу учеников, таблицу преподавателей и т. Д. В этом случае, как написать базовый класс? Является ли базовым классом дополнительные накладные расходы, потому что я мог бы просто установить источник сетки для конкретных таблиц? – George2

+1

Вот ссылка на пример для привязки к xml http://www.codeproject.com/KB/aspnet/Bind_XML_file_to_GridView.aspx Я использую базовый класс для некоторых отчетов, которые я генерирую. Он обрабатывает сортировку, подкачку, экспорт в Excel и т. Д., А на странице отчета задается источник данных и привязывается. Не зная больше о том, что вы делаете, я не могу сказать, было бы или не выгодно. – Chuck

1

Вы можете создавать сервисы, помеченные [dataobject] и [DataObjectMethodAttribute], которые возвращают типы данных и не требуют параметров. В зависимости от размера данных вы можете вернуть эти записи всем реестрам. Дизайнерам должно быть легко выбрать сервис и привязать к сетке через мастеров. Они также будут вынуждены иметь дело с поисковым вызовом, сортировкой и могут также начать проводку в некоторых событиях, таких как onitemselecting.

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

EDIT: Мой ответ занял несколько часов, когда дети бегали по дому .. :) Мне нравятся ответы выше. Но, рассмотрите возможность использования набора данных ado.net и просто выставите по умолчанию GetAll структуры.

+0

1. [dataobject] и [DataObjectMethodAttribute] являются для меня новичками, и я не нашел хорошего учебника для меня, чтобы быстро подобрать. Есть ли у вас какие-либо предлагаемые показания для образцов? 2. «Я заставляю их издеваться над gridviews с обычными таблицами» - вы имеете в виду, что вы используете ту же таблицу в продукте для дизайнера пользовательского интерфейса для использования во время разработки пользовательского интерфейса? – George2

+0

3. «Обычно у нас есть варианты использования или доступ к клиенту, чтобы определить, какие поля они хотят отображать в gridview». - Смущенный, клиент, что вы имеете в виду? Я думаю, что клиент - это браузер в моем понимании, я не знаю, почему вам нужно получить доступ к браузеру? – George2

+1

http://www.asp.net/Learn/data-access/tutorial-02-cs.aspx - Я всегда рекомендую эту серию, это действительно хорошо. Извините, клиент = кто я делаю работу (обычно это конечный клиент). Поэтому мой дизайнер пользовательского интерфейса либо имеет доступ к спецификации, где мы уже решили, какие столбцы должны присутствовать, либо задать вопрос кому-то, кто понимает данные в бизнес-контексте. – itchi

Смежные вопросы