korobovmax
Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору vadson6666, да всё просто. Опишу то, как получил решение: Идём по ссылке на DevExpress и узнаём оттуда метод ViewData.Expand у TcxGridDBCardView. Смотрим реализацию и видим, что у ViewData есть массив Record'сов, каждый из которых умеет Expand'ить только себя (нам ведь именно это нужно ). Остаётся одна подзадача - узнать индекс текущей записи. При беглом просмотре свойств не нашлось нужного индекса, поэтому приведу приём, которым пользуюсь в случаях, когда неочевидно, откуда взять ID записи: 1. Объявляем глобальную переменную RecID: Integer; 2. (Так как мы используем CardView, то) у CardView в событии OnFocusedRecordChanged: RecID := AFocusedRecord.Index; Всё - в RecID у нас всегда хранится индекс текущей записи (при этом не надо забывать про поведение с включённым MultiSelect ). Далее уже можно, например, в CardView OnDblClick: CardView.ViewData.Records[RecID].Expand(False); CardView.ViewData.Records[RecID].Collapse(False); ------------------------ Не лишним будет сказать, что можно работать не с массивом ViewData.Records, а с ViewData.Cards. В рамках решения данного вопроса - никакой разницы. Но, просто Card'сы умеют чуть-чуть побольше - например, Visible := False . Всё . | Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 11:56 18-12-2005 | Исправлено: korobovmax, 20:59 18-12-2005 |
|