> >= DODEFAULT() >#DEFINE kcEOL CHR(13) >#DEFINE knRowBuffering 3 >#DEFINE knTableBuffering 5 >#DEFINE knTagName 3 >#DEFINE knTotColumnCols 5 > >LOCAL loSaveAlias, llBufModeSetSucceeded, lcIndexExpression, lcTagName >LOCAL lnCurColumn, lcFieldName, lnTotColumns > >* Save alias and buffer mode >loSaveAlias = CREATEOBJECT("cuspushpopalias") > >SELECT ( This.Recordsource) > >llBufModeSetSucceeded = CURSORSETPROP( "BUFFERING", knRowBuffering ) >ASSERT !llBufModeSucceded MESSAGE 'Assertion Error' + kcEOL + ; > 'Set buffer mode failed to set row buffering.' + PROGRAM() + "!" + kcEOL > >* Set indexes >lnTotColumns = ALEN( THIS.iaColumnInfo)/knTotColumnCols >FOR lnCurColumn = 1 TO lnTotColumns > > lcTagName = THIS.iaColumnInfo( lnCurColumn, knTagName ) > > * Drill down to column information if there is a tag name. > IF TYPE("lcTagName") = 'C' AND NOT EMPTY( lcTagName ) > > loColumn = EVALUATE( "THIS.Column" + ; > ALLTRIM( STR( lnCurColumn, 3 ) ) ) > lcFieldName = loColumn.ControlSource > > INDEX ON &lcFieldName TAG &lcTagName > > ENDIF > >ENDFOR > >* Add additional tags here. > >llBufModeSetSucceeded = CURSORSETPROP( "BUFFERING", knTableBuffering ) >ASSERT !llBufModeSucceded MESSAGE 'Assertion Error' + kcEOL + ; > 'Set buffer mode failed to set table buffering.' + PROGRAM() + "!" + kcEOL > >RELEASE loSaveAlias > >>