Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу связать GridView and DetailsView, Help!!! 
:(
    Опции темы
maque
Дата 16.11.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 11.8.2006

Репутация: нет
Всего: нет



Не совсем понимаю как сделать.
Есть Грид(GridView), есть набор объектов. Грид заполняется этими объектами. Но в нем отображается весьма малая часть информации об этих объектах, поэтому я создаю элемент DetailsView, и делаю из некоторого поля в Гриде LinkButton, чтобы при нажатии на него в DetailsView выводилась уже подробная информация. Дык вот связать этот Грид с DetailsView  не получается smile((. Пытаюсь сделать все без кодинга, настоив все компоненты друг на друга, но выдается ошибка, что надо что-то делать с DataKeyNames. Если все писать, то взять объект я могу, но как его привязать к ObjectDataSource(который связан с ДетайлсВью)? не могу разобраться... плиз, Help!!!
PM MAIL   Вверх
Pankon
Дата 17.11.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 2
Всего: 5



Цитата(maque @  16.11.2006,  15:53 Найти цитируемый пост)
DataKeyNames
 в это свойство нужно задать (в GridView)ключевое поле контрола-источника, по значению которого дожен формироваться SQL для источника для DetailsView(как параметер)

Цитата(maque @  16.11.2006,  15:53 Найти цитируемый пост)
привязать к ObjectDataSource(который связан с ДетайлсВью)?
 должно быть два источника

PM MAIL   Вверх
Mymik
Дата 18.11.2006, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Я бы на твоем месте сделал так -->

я бы привязал OnRowCommand у GridView к своему методу, который принимает два параметра (object sender, GridViewCommandEventArgs e) послче чего, внутри бы сделал switch(e.CommandName) и перехватил бы твою команду.
после чего нужно написать запрос к базе, что забирает нужную тебе запись, но для запроса нам нужен будет ID твоей записи... для этого нам нужно в твоей LinkButton добавить CommandArgument='<%# Eval("ID")%>' А теперь чтобы забрать этот аргумент мы должны распарсить e.CommandArgument вот и все... после того как у тебя все данные есть, обращаешься к базе, забираешь данные и отдаешь DataSet своему DetailsView...  Во всяком случаи я бы натворил именно такое... 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
maque
Дата 20.11.2006, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 11.8.2006

Репутация: нет
Всего: нет



Спасибо за идеи!

Все-таки оказалось все просто, достаточно настроить DataKeyNames :-)
PM MAIL   Вверх
maque
Дата 6.2.2007, 03:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 11.8.2006

Репутация: нет
Всего: нет



Вобщем, не все ясно.
Конкретно: есть объект. есть детайлсвью. надо Программно(и только так) привязать объект к детайлсу, чтобы отображал о нем всю инфу.
Как это сделать?  smile 
PM MAIL   Вверх
D_F_V
Дата 15.9.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 27.3.2007
Где: Vladivostok

Репутация: нет
Всего: 1



Если GridView не использует пэйджинг то можно сделать все одной строчкой кода.. 

Код

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        DetailsView1.PageIndex = GridView1.SelectedIndex;
    }


Если есть пэйджинг то так работать не будет, а может и будет, во всяком случае я не знаю как это сделать... 

Забыл добавить, у DetailsView1 должен быть тот же DataSource что у GridView1.

Это сообщение отредактировал(а) D_F_V - 18.9.2007, 09:52
PM MAIL ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.6522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.