![]() |
|
|
#1
|
||||
|
||||
|
Есть форма:
Безымянный.png Подсчитал количество строк в 1-ой таблице вот так: Код:
DataModule1.AdoQuery1.Close; DataModule1.AdoQuery1.SQL.Text := 'SELECT * FROM Дома'; DataModule1.AdoQuery1.Open; Label2.Caption :=IntToStr( DataModule1.ADOQuery1.RecordCount); Вторая таблица (Квартиры в доме) - это побочная таблица 1-ой. (Master Source). Данные в ней меняются в соответствии с выбранной ячейкой в 1-ой таблице. Как сделать подсчет строк во 2-ой таблице так, чтобы он менялся в соответствии с выбранной ячейкой в 1-ой таблице ? |
|
#2
|
||||
|
||||
|
select count(1) колво from квартиры where дом=:дом
|
|
#3
|
||||
|
||||
|
А не надо вам ничего считать дополнительно. У вас эти данные уже есть, их тем же методом RecordCount можно получить напрямую из датасета для каждого из гридов.
|
|
#4
|
||||
|
||||
|
Цитата:
Можешь расписать как это сделать ? |
|
#5
|
||||
|
||||
|
cxGrid вообще сам умеет все подсчитывать
|
|
#6
|
||||
|
||||
|
Примерно так:
Код:
DBGrid2.DataSource.DataSet.RecordCount |
|
#7
|
||||
|
||||
|
Цитата:
|
|
#8
|
||||
|
||||
|
Верно, но вы ведь сами сказали, что:
Цитата:
Последний раз редактировалось Страдалецъ, 07.04.2015 в 19:40. |
|
#9
|
||||
|
||||
|
Цитата:
Код:
DBGrid2.DataSource.DataSet.RecordCount Последний раз редактировалось Bethryyyl, 07.04.2015 в 19:44. |
|
#10
|
||||
|
||||
|
Вы такое хотите?
Код:
procedure TForm32.ClientDataSet1AfterScroll(DataSet: TDataSet); begin Label1.Caption := IntToStr(DBGrid2.DataSource.DataSet.RecordCount); end; |
| Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
Bethryyyl (07.04.2015)
| ||
|
#11
|
||||
|
||||
|
Цитата:
Все работает, только выдает ошибку. Безымянный.png |
|
#12
|
||||
|
||||
|
Через событие CellClick у DBGrid все работает.
|
|
#13
|
||||
|
||||
|
Цитата:
|
|
#14
|
||||
|
||||
|
Цитата:
На будущее: мелкие вопросы лучше обсуждать в одном топике, нежели создавать кучу ниочемных тем. |