Define Class tateHeader As Header > FontSize = 8 > FontName = "Arial" > Alignment = 2 > Procedure Click > This.parent.parent.SortGrid(This.parent.ColumnOrder) > This.parent.parent.SetAll( "FontBold", .F., "tateHeader" ) > This.FontBold = .T. > EndProc >EndDefine > >Define Class tateColumn As Column > Procedure Init > Set ClassLib To ..\shared\libs\autoABM Additive > With This > .RemoveObject( "header1" ) > .AddObject( "Header1", "tateHeader" ) > .RemoveObject( "Text1" ) > .AddObject( "txtDato", "browseTextBox" ) > .CurrentControl = "txtDato" > .Sparse = .F. > .Bound = .F. > EndWith > EndProc > > Procedure ControlSource_Assign > LParameter uNewVal > This.txtDato.ControlSource = uNewVal > This.ControlSource = uNewVal > EndProc >EndDefine>
With Thisform > .LockScreen = .T. > cSQL = 'Select ' + .abmCampos + ' From ' + .abmTablas + ' Where ' + .abmCondicion + ' Order By '+ AllTrim(Str(.abmOrden))+' '+ .abmTipoOrden + ' Into Cursor cur'+.Name > &cSQL > With .grdBrowse > .RecordSourceType = 1 > .RecordSource = 'cur'+.Name > EndWith > .CreateColumns() > .LockScreen = .F. > .grdBrowse.SetFocus() >EndWith>At form CreateColumns method:
Dimension aCampos[This.abmColumnas,2] >With This > For i = 1 To .abmColumnas > aCampos[i,1] = .grdBrowse.Columns[i].ControlSource > aCampos[i,2] = .grdBrowse.Columns[i].Width > EndFor > > .grdBrowse.ColumnCount = 0 > For i = 1 To .abmColumnas-1 > lcObject = "Column"+Trans(i) > nPrim = Iif( i=1, 1, Atc( ";", .abmColumnTitles, i-1 )+1 ) > nCuan = Atc( ";", .abmColumnTitles, i ) - nPrim > cTitu = SubStr( .abmColumnTitles, nPrim, nCuan ) > With .grdBrowse > .AddObject(lcObject,"tateColumn") > .&lcObject..ControlSource = aCampos[i,1] > .&lcObject..Width = aCampos[i,2] > .&lcObject..Header1.Caption = cTitu > .&lcObject..Refresh() > EndWith > EndFor > cTitu = SubStr( This.abmColumnTitles, Rat( ";", This.abmColumnTitles ) + 1 ) > lcObject = "Column"+Trans(i) > With .grdBrowse > .AddObject(lcObject,"tateColumn") > .&lcObject..ControlSource = aCampos[i,1] > .&lcObject..Width = aCampos[i,2] > .&lcObject..Header1.Caption = cTitu > .&lcObject..Refresh() > EndWith > .grdBrowse.Refresh() >EndWith>