powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / 'Украсить' DataGrid
5 сообщений из 5, страница 1 из 1
'Украсить' DataGrid
    #33553269
TomKa_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача: Создать симпатишную страницу.
Есть DataSet, заполненный данными из БД.

запрашиваю из БД question_text, question_id, answer_text, answer_id, question_type.

question_text - вопрос
question_id - id вопроса
answer_text - ответ
answer_id - id ответа
question_type - 1/2 - checkbox/radiobutton

Все бы было хорошо, если бы можно было просто отобразить это в DataGrid'e. Но, надо чтобы все было красиво, т.е.
Если question_type = 1 - рисуется таблица как на рис. 1, question_type = 2 - рисуется таблица как на рис. 2. Причем кол-во таблиц - заранее неизвестно (зависит от кол-ва вопросов в БД).

-Может поделить DataSet на Arrays и потом все прорисовывать, проверяя условия (ну там checkboxlist выдавать или radiobuttonlist)?

- Каким-то образом все таки модифицировать Datagrid, чтобы он выполнял все прорисовки сам.

Подскажите в какую сторону копать.
...
Рейтинг: 0 / 0
'Украсить' DataGrid
    #33554686
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрите в сторону Repeater
...
Рейтинг: 0 / 0
'Украсить' DataGrid
    #33561560
TomKa_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
profilпосмотрите в сторону Repeater

Спасибо за ответ. Сделать таблицу действительно не проблема, т.е. примерно след. код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<asp:repeater id="Repeater1" runat="server">
<HeaderTemplate>
   <table width="100%" border="0">
</HeaderTemplate>
<ItemTemplate>
   <%if (i== 0 ){%>
   <tr><td>
  <%#DataBinder.Eval(Container.DataItem, "question") %>
   </td></tr>
    <%}%>
   <tr><td>
  <%#DataBinder.Eval(Container.DataItem, "answer") %>
   </td></tr>
</ItemTemplate>
<FooterTemplate>
   </table>
</FooterTemplate>
</asp:repeater>

i объявляется в CodeBehind.cs
Код: plaintext
int i= 0 ;

но таким образом получается, что выводится только первый вопрос и весь репитер - одна таблица.
Как сделать так, чтобы каждый репитер был отдельной таблицей, причем именно как показанно на рис.

т.е. проблема в том, что
MSDNYou can use several different Web server controls to display data in list form. Except for the Table control, these controls are bound to a data source. They produce one item — an entry — for each record in the data source.

а я хочу, чтобы он выводил несколько "entries" в один repeater.

Есть задумка создать временную переменную "previous_question" забивать ее DataBind'ом ( в том же repeater'е) и проверять с последующей, но как именно, не представляю. :(
...
Рейтинг: 0 / 0
'Украсить' DataGrid
    #33564234
White Wolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TomKa_tно таким образом получается, что выводится только первый вопрос и весь репитер - одна таблица.
Как сделать так, чтобы каждый репитер был отдельной таблицей, причем именно как показанно на рис.

подсказка. ДатаТейблы можно вкладывать друг в друга. это раз
и два, можно создать 2 дататейбла один с чекбоксами. другой с радиобатонами
либо рядом чекбокс и радиобатон и один из них прятать (в зависимости от типа вопроса) т.е. Visible = false
...
Рейтинг: 0 / 0
'Украсить' DataGrid
    #33564516
TomKa_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, буду пробовать.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / 'Украсить' DataGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]