-= GridView и ObjectDataSource =-

xm?!_(mo3roBa9_akTuBHocTb)
Дата: 24.04.2007 14:38:42
1. Можно ли с одного ObjectDataSource заполнить несколько GridView's разными выборками?
Например, ObjectDataSource берёт данные с помощью класса Customer со свойствами (полями) id, name, rating. Задача в первый GridView положить строки где rating<10, а во второй rating>=10. Такое можно сделать и как?

2. Как в параметр добавить, например, текущую дату?
Допустим, такой код:
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetAllCustomer" TypeName="Customer">
<SelectParameters>
<asp:Parameter Name="date" Type="DateTime" />
</SelectParameters>
Как сделать так, чтобы вместо этого параметра всегда передавалась текущая дата?

И самый интересный для меня вопрос..
3. Возможно ли в GridView сделать заголовки?
Сейчас объясню что имел ввиду:). Допустим есть таблица покупателей (Customer) с полями num, name, status (статус может быть 3 значений - "Активен", "Средний", "Неактивен").
Можно ли сделать с помощью TemplateField чтобы GridView выглядел так - вначале был заголовок (поле status) допустим "Активен", потом перечисляются все активные покупатели (поля name и num), далее следующий Заголовок status - "Средний" и все покупатели с этим статусом и в конце покупатели "Неактивен".
Проблема в том, что Гридвью оперирует со строками. У меня такие идеи как это реализуется. Сделать гридвью, который будет показывать только одно поле- status, т.е. у нас на экране появиться 3 строки ("Активен", "Средний", "Неактивен"), и в строку добавить вложенный гридвью с полем name, где как раз и будет выводиться список всех покупателей для данного статуса.
Возможно так и не получиться, не пробовал ещё.
Есть какие либо ещё идеи как можно это реализовать?
xm?!_(mo3roBa9_akTuBHocTb)
Дата: 25.04.2007 10:42:24
up
GWhite
Дата: 25.04.2007 13:32:11
Какой интерфейс у Customer?, я использую 1.1, поэтому примеры для DataSet

1. Использовал представление на основе DataSet
new DataView(ds_err.Tables[0],"inf=1","td desc",System.Data.DataViewRowState.CurrentRows); 
столбец inf аналог вашего rating. Если что не понятно -> в описании конструктора DataView.

2.
<asp:Parameter Name='<%=System.DateTime.Today%>' Type="DateTime" />
или
<asp:Parameter Name='<%=System.DateTime.Now%>' Type="DateTime" />
как-то так примерно должно работать

3. Насчет GridView не знаю, но такое примерно решение я реализовал на основе 3х репитеров и п.1.