Главная страница | назад





Article #16873: Getting current record from a TDBGrid

 Question and Answer Database

FAQ1873C.txt   Getting current record from a TDBGrid
Category   :Database Issues
Platform    :All
Product    :C++Builder  1.x

Question:
How do you tell which record and which field of a TDBGrid is 
current?

Answer:
Here is a method to keep track of the current column and row. 
The following code in the method MyDBGridDrawDataCell updates 
the variables Col and Row (which must not be local to the method)
every time the grid is redrawn. Using this code you can assume 
that Col and Row point to the current column and row respectively.

   int Col, Row;

   void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender, 
          const TRect &Rect, TField *Field, TGridDrawState State)
   {
      int RowHeight;
      if (State.Contains(gdFocused)
      {
         RowHeight = Rect.Bottom - Rect.Top;
         Row = (Rect.Top / RowHeight) - 1;
         Col = Field->Index;
      }
   }

7/2/98 10:32:32 AM
 

Last Modified: 01-SEP-99