![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определение выделенной строки в 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]а зачем?