PreviousNextIndex

BandIndex property


(Windows only; GUI for .NET only)

Indicates the band in a hierarchical control which uses the current record. A band consists of all the records at a given level in the hierarchical display. A given band might contain sets of child rows from different parent records, as shown:

Band 0 
    Band 1 
        Band 2 
        Band 2 
            Band 3 
            Band 3 
    Band 1 
Band 0 
    Band 1 
    Band 1 
Band 0 
    Band 1 
        Band 2 
            Band 3 
            Band 3 
    Band 1 
        Band 2 
        Band 2 
    Band 1 
    Band 1 
        Band 2 
        Band 2 
            Band 3 
            Band 3 

This property is only set for a ProBindingSource bound to a ProDataSet with a recursive data-relation. A recursive data-relation can use a particular query in different bands. To access the correct query for the current row in this case, your application must use the BandIndex as a parameter for the data-relation’s CURRENT-QUERY( ) method.

Note: The BandIndex is a 0-based index.

Data type: INTEGER

Access: PUBLIC Readable

Applies to: Progress.Data.CancelCreateRowEventArgs class, Progress.Data.CreateRowEventArgs class

The following procedure is a CreateRow event handler designed to handle a ProDataSet with a recursive data-relation. First, it checks to see if the BandIndex is 0, which always uses the top query. If not, it uses the BandIndex as the parameter for the CURRENT-QUERY( ) method to find the handle of the correct instance of the data-relation query.

PROCEDURE recursiveRelationCreateRow: 
DEFINE INPUT PARAMETER sender AS System.Object.  
DEFINE INPUT PARAMETER args   AS Progress.Data.CreateRowEventArgs. 
DEFINE VARIABLE hBuffer   AS HANDLE. 
DEFINE VARIABLE hQuery    AS HANDLE. 
DEFINE VARIABLE hTopQuery AS HANDLE. 
DEFINE VARIABLE hRelation AS HANDLE. 
hBuffer = args:BufferHdl. 
IF args:BandIndex EQ 0 THEN 
  hQuery = hTopQuery. 
ELSE 
  hQuery = hRelation:CURRENT-QUERY(args:BandIndex).  
hBuffer:BUFFER-CREATE(). 
hQuery:CREATE-RESULT-LIST-ENTRY(). 
args:Created = TRUE. 
END. 

See also: BufferName property, CancelCreateRow event, Created property, CreateRow event


OpenEdge Release 10.2B
Copyright © 2009 Progress Software Corporation
PreviousNextIndex