Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определение выделенной строки в DBGrid [D7, MSSQL]


max1991 ©   (2007-07-20 16:12:00) 

Уважаемые мастера, подскажите пожалуйста, как можно опеределить какая строка в сетке выделена


max1991   (2007-07-20 17:29:00) [1]

огромное спасибо за помощь, всё работает!


stone   (2007-07-20 17:20:00) [2]

в справке пример есть
procedure TForm1.DataSetFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
 Accept := DataSet['AmountOfPurchase'] > StrToInt(Edit1.Text);
end;


max1991   (2007-07-20 17:15:00) [3]

непонятно собственно, как, используя это событие ввести неоходимый фильтр


max1991   (2007-07-20 17:13:00) [4]

> stone ©   (20.07.07 17:06) [11]
>
> > но в ADOTable подчинённой таблицы нельзя использовать
> св-
> > во filtered, фильтры не работают
>
> Работают. Но нужно использовать не свойство Filter, а событие
> OnFilterRecord

А можно небольшой пример с использованием этого события или пояснение, т.к как использовать св-во filter понятно: ADOTable2.Filter:='RUser=''ivanov''', а как применить событие-несовсем.


Stanislav   (2007-07-20 17:07:00) [5]

ниче непонял.


stone   (2007-07-20 17:06:00) [6]


> но в ADOTable подчинённой таблицы нельзя использовать св-
> во filtered, фильтры не работают

Работают. Но нужно использовать не свойство Filter, а событие OnFilterRecord


max1991   (2007-07-20 17:02:00) [7]

cсвязь между таблицами есть, если в первой таблице выбрана какая-то строка, то во второй отображаются все данный из второй таблицы, связанные именно с этой записью, проблема в том, что нужно во второй таблице выводить не все строки, а только некоторые, именно строки, т.к. сам everest сваливает на сервер во вторю таблицу всё(параметры железа и параметры программ).
Так вот, есть 2 DBGrid, 2 DataSource, 2 ADOTAble, связанные между собой, образую две тройки. Первая тройка отвечает за загрузку с сервера и отображение первой таблицы, где ключевым явл. поле ID; Вторая тройка - за загрузку связанных с первой таблицей(поле ID) значений  из второй, всё это работает, но в ADOTable подчинённой таблицы нельзя использовать св-во filtered, фильтры не работают, при компиляции вываливается ошибка, а нужно чтобы отображались связанные с первой таблицей только определённые строки, а не все связанные с ней.


Stanislav   (2007-07-20 16:50:00) [8]

Читай про параметрические запросы и связь Master-Detail.


stone   (2007-07-20 16:40:00) [9]

Так тебе в текущая позиция в датасете нужна, грид тут ни при чем.
Не понятно при чем тут фильтрация в дочерних таблицах, когда нужна простая связь Master-Detail на уровне датасетов.


Ega23   (2007-07-20 16:38:00) [10]

Это называется мастер-детальная связь.
Решается элементарно с указанием подчинённому НД в качестве DataSource - DataSource главного НД.


max1991   (2007-07-20 16:35:00) [11]

понятно, что та, напротив которй треугольник, но хотелось бы, чтоб вообще без него, неотображался вовсе этот столбец.Как столбец отключить - нашел, а как определить, какая срока в данный момент выделена, не знаю :(.


max1991   (2007-07-20 16:32:00) [12]

Multiselect-а нет, выделяется только одна строка.


max1991   (2007-07-20 16:31:00) [13]

Идея такая, есть SQL-сервер, everest(бывшая AIDA), everest шлёт на сервер отчёты о компьютерах(аппаратные и программные данные), на сервере три таблицы, две из них собственно с данными: в первой имя компьютера, дата и время выполнения отчета и ключевое поле ID, вторая таблица-это все остальнае данные, связь между ними ID->ReportID.
Хотелось бы сделать так, чтобы при выделении в первой таблице опр. строки, отражались записиподчинённой таблицы, но загвоздка в том, что во второй таблице оч. много лишних данных и хотелось бы организовать фильтрацию в ней, но так как в подчиненной таблице filter не работает, скорее всего придётся создавать sql-запросы, содержащие фильтры.
А для всего этого мне нужно определить значение ID выделенной строки.


Desdechado   (2007-07-20 16:30:00) [14]

А если несколько, то SelectedRows


Ega23   (2007-07-20 16:24:00) [15]

Это та строка, напротив которой чёрный треугольничек находится.


stone   (2007-07-20 16:18:00) [16]

а зачем?


Наверх

Титульная страница Поиск, карта сайта Написать письмо