2008-11-16 5 views
8

나는 TDbGrid를 가지고 있는데, 런타임에 FieldCount 속성을 통해 얼마나 많은 열이 있는지 쉽게 알 수 있지만, 얼마나 많은 레코드가 표시되는지를 나타내는 해당 RowCount 속성이없는 것 같습니다. 표시됩니다. 어떻게 알 수 있습니까?TDbGrid의 행 계산하기

답변

8

당신이 시도 할 수 :

DBGrid1.DataSource.DataSet.RecordCount 

어쩌면 더 나은 솔루션이 있습니다. 그러나 이것은 나를 위해 일했습니다.

+3

TDataSet.RecordCount을 사용 -1 (쿼리와 같은) 상황에 따라. –

+0

감사합니다. DB 프로그래밍을해야하는 것처럼 보입니다. 그렇지 않으면 터치가 끊깁니다. (2 년 DB 적은 애플 리케이션에 대한 작업). –

+0

사실, 라스? TClientDataset을 사용하여 너무 많은 시간을 기억하지 못했습니다. 어떤 종류의 Query 개체 (ADO, IBX 또는 DBX)가이 동작을 표시합니까? dbx는 구성 요소가 단방향 커서이기 때문에 dbx가 될 것이라고 생각합니다. 그러나 더 많은 것이 있습니까? –

11

RowCountVisibleRowCount은 모두 TDBGrid에 노출되지 않은 TCustomGrid의 보호 된 속성입니다. 하지만 다음을 수행하면 되실 수 있습니다.

type 
    TDummyGrid = class(TDBGrid); 

    RowCount := TDummyGrid(MyDBGrid).RowCount; 
    VisibleRowCount := TDummyGrid(MyDBGrid).VisibleRowCount; 

머리말이 포함되어 있습니다.

1

나는 종종 줄 것이다

TDbGrid.ApproxCount