Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.14;
Скачать: CL | DM;

Вниз

Работа со строками в DBGrid   Найти похожие ветки 

 
Oleg_K   (2001-12-08 12:42) [0]

Имеется DBGrid в котором есть несколько полей с десятком записей. Нужно, чтобы после наведения курсора и двойного клика мыша в определенной строке открывалось новая конкретная форма (тоже DBGrid). Проблема в том как отследить одинарный клик (переход) на конкретную строку? Для StringGrid"а существует такая чудная функция как SelectCell, где этот вопрос успешно решается, а у DBGrida eё нет...
Т.к. в Делфях я новичок, то plz, поподробнее.
Заранее благодарю за ваш ответ.


 
evgeg   (2001-12-08 13:12) [1]

Следить надо за набором данных (TTable, TQuery), связанных с этим DBGrid-м.


 
Oleg_K   (2001-12-08 15:47) [2]

А как следить-то? (TQuery я не использую)
Можно небольшой примерчик (на е-мыл)?. Нужно ведь всего-то навсего примитив: если что-то равно чему-то, то открыть другой DBGrid и т.д.
Отслеживание нужно только чтобы зать какой DBGrid открывать.


 
evgeg   (2001-12-08 16:15) [3]

procedure TForm1.DBGrid1DblClick (Sender: TObject);
begin
if Table1.FieldByName ("A") = 3 then
OpenAnotherGrid;
end;


 
Oleg_K   (2001-12-08 20:51) [4]

Благодарю, так работает, но я в прошлый раз не совсем верно отобразил свою ситуацию. Мне нужно как-то определять порядковый номер выделенной строки DBGrida и в зависимости от этого открывать другую базу. Приведенный вами метод эффективен если база не большая и не будет изменяться, тобишь заведомо известны значения ячеек. В моем случае баз будет более сотни. Все они небольшого размера (10-15 записей) и имеют различные типы полей, в них нет пронумерованного поля. Можно создать такое поле, сделать его инвизиблом и применить предложенный вами метод, но проделывать эту операцию с сотней баз... :) Тем более, что необходима возможность дополнения базы (не мной).

Что вы могли бы посоветовать?


 
evgeg   (2001-12-08 21:03) [5]

TTable.RecNo возвращает номер текущей записи.
Это свойство корректно работает в dBase и Paradox базах, в SQL-серверах всегда возвращает -1.


 
Anatoly Podgoretsky   (2001-12-08 23:32) [6]

Oleg_K (08.12.01 20:51)
Что вы могли бы посоветовать?

А по какому принципу ты собираешь открывать другую "базу"? Ведь что то является критерия, нельзя же на деревню дедушке.


 
Oleg_K   (2001-12-13 15:07) [7]

To evgeg: Премного благодарен. Это именно то, что мне было нужно. Все гениальное - просто :). Я как раз и использую dBase"овские базы.

To Anatoly Podgoretsky: Все довольно примитивно. Если активна запись 1, то отрыть 1.dbf, если актина запись 2, то - 2.dbf и т.д.(утрируя). Поля разные, поэтому я не могу выделить определенный ключ.



Страницы: 1 вся ветка

Текущий архив: 2002.01.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
1-42461
User
2001-12-25 08:49
2002.01.14
Как же мне отрисовать самому строки в TListView?


7-42578
Lena
2001-10-01 11:00
2002.01.14
Помогите


1-42425
Kevin
2001-12-26 15:38
2002.01.14
Очень срочно надо


1-42505
JetPaul
2001-12-26 10:29
2002.01.14
Перевести программу с VB на Delphi


7-42586
TheNobody
2001-09-29 05:21
2002.01.14
нужно смикшировать два WAV файла