C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Количество записей в таблице
Valdemar
Отправлено: 12.02.2004, 10:04


Мастер участка

Группа: Участник
Сообщений: 433



Как узнать количество показываемых в DBGrid строк из таблицы, у которой фильтрация происходит в обработчике события OnFilterRecord?
Admin
Отправлено: 12.02.2004, 13:41


Владимир

Группа: Администратор
Сообщений: 1190



Так Вы и производите фильтрацию в этом обработчике.
Можно завести переменную, счетчик,
и набирать в нее количество "пропущенных" записей.

CODE

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int sc;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
       : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Table1FilterRecord(TDataSet *DataSet, bool &Accept)
{
   // .... фильтрация
    if(Accept == true) sc++;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Table1->Filtered = false;
  sc = 0;
  Table1->Filtered = true;
  Label1->Caption = sc;
}
//---------------------------------------------------------------------------
Valdemar
Отправлено: 12.02.2004, 17:31


Мастер участка

Группа: Участник
Сообщений: 433



Admin, спасибо за помощь.
Но такой способ я рассматривал. Просто думал, что может есть какое-нибудь свойство у ADOTable или DBGrid, которое показывает нужную мне информацию, но которое я не нашел.

Вернуться в Работа с базами данных в C++Builder