Codeblock Onlinehilfe

TbeCbGrid

TbeCbGrid

Die Klasse stellt eine Verbindung zu einem klassischen DataSource oder zu einem PostgreSQL Datenbank Server her. > ERROR > > Breaking Change: ab Version 7.6 ist die Verwendung mit allen Tabellen möglich. Hierzu mussten einige Funktionen angepasst werden.

Eigenschaften

Eigenschaft

Beschreibung

Align:N


AlignWithMargins:L


Anchors:N


BeCbGridHelper:O


BevelEdges:N


BevelInner:N


BevelKind:N


BevelOuter:N


BevelWidth:N


BiDiMode:N


BorderStyle:N


BorderWidth:N


CbFocusedColumn:O

Fokusierte Spalte - siehe [TbeCbGridColumnWrapper](158793747_tbecbgridcolumnwrapper.md)

CbFocusedRow:O

Fokusierte Zeile - siehe [TbeCbGridRowWrapper](157941851_tbecbgridrowwrapper.md)

CbOrder:U

(nur lesend) Array aller Sortierungen (in der Sortierreihenfolge): ``` {{'Feldname':C, 'Absteigend?':L}, ...} ```

Constraints:O


Cursor:N


CustomHint:O


DragCursor:N


DragKind:N


DragMode:N


DragOpening:L


DragOpeningWaitTime:N


Enabled:L


Font:O


Height:N


HelpContext:N


HelpKeyword:C


HelpType:N


Hint:C


Images:O


Left:N


LevelTabs:O


LockedStateImageOptions:O


LookAndFeel:O


Margins:O


Name:C


ParentBiDiMode:L


ParentCustomHint:L


ParentFont:L


PopupMenu:O


RootLevelOptions:O


RootLevelStyles:O


Settings:O


TabOrder:N


TabStop:L


Tag:N


Top:N


Touch:O


Visible:L


Width:N


Methoden

Methode

Beschreibung

CbInitForDatasource(aDatasource:O)


CbInitForPostgres(aKeyFieldNames:C, aSQL:C)


CbDataBinding():O


CbLoadGlobalSettings(aGridID:C)


CbLoadUserSettings(aGridID:C)


CbNext()


CbPrior()


CbFirst()


CbLast()


CbDataAvailable():L


CbNoDataAvailable():L


CbSaveGroups()


CbRestoreGroups()


CbRefreshData()


CbData(aFieldName:C):U


CbOrderBy(aFieldName:C, aDescending:L)


CbRemoveOrder(aFieldName:C)


CbBeginUpdate()


CbEndUpdate()


CbRefreshDynamicCaptions()


CbRefreshDynamicVisibility()


Beispiel

|
   // @VDB@ Der nachfolgende Teil wird automatisch gepflegt.
   oForm, A_HelpContent
   // @VDE@ Der vorangehende Teil wird automatisch gepflegt.
   , oGrid
|

function DoOnRecordChanged(aSender, aPrevRecordIndex, aCurrRecordIndex, aNewRecordFocused)
  writeln(aCurrRecordIndex),
//  writeln(oGrid.CbData('anummer')),
end,

startseq
   // @VZB@ Der nachfolgende Teil wird automatisch gepflegt.
   oForm         := LoadForm("@GRIDTEST", Application),
   A_HelpContent := FindObject(oForm, "A_HelpContent"),
   // @VZE@ Der vorangehende Teil wird automatisch gepflegt.
   oGrid := CreateObject('TbeCbGrid', 'grd', oForm, oForm),
   oGrid.Align := alClient,
   AssignEvent(oGrid, 'CbOnGridFocusedRecordChanged', 'DoOnRecordChanged'),   
   oGrid.CbInitForPostgres('anummer', 'select * from dab050'),
   oGrid.CbLoadUserSettings('test2'),
   oGrid.CbRefreshData(),
   oGrid.CbNext(),   

   ShowModal(oForm),
onerror
   DestroyObject(oForm),
   GU_ShowStdErrorMessage(GetErrorText(), GetErrorObj()),
stopseq,
|
   // @VDB@ Der nachfolgende Teil wird automatisch gepflegt.
   oForm, A_HelpContent, DataSourceEx1
   // @VDE@ Der vorangehende Teil wird automatisch gepflegt.
   , oGrid, oQuery, oDB, cCurrentOrder
|

function SwapSort()
   oGrid.CbBeginUpdate(),
   startseq
      oGrid.CbRemoveOrder(''),
      if cCurrentOrder == 'MC' then
         oGrid.CbOrderBy('KDNR', true),
         oGrid.CbOrderBy('NAME1', false),
         cCurrentOrder := 'KDNR',
      else
         oGrid.CbOrderBy('MC', false),
         cCurrentOrder := 'MC',
      endif,
   always
      oGrid.CbEndUpdate(),
   stopseq,
end,

function DoOnRecordChanged(aSender, aPrevRecordIndex, aCurrRecordIndex, aNewRecordFocused)
//   writeln(aCurrRecordIndex),
//   writeln(ArrToStr(ogrid.CbOrder)),
//   writeln(oGrid.CbData('anummer')),
end,

function DoOnDblClick(aSender, aTarget, aObject)
//   writeln(ogrid.CbFocusedColumn.Caption),
  SwapSort(),
  case aTarget
     of bcghttNone :: writeln('nothing'),
     of bcghttCell :: writeln('cell in column '  + ' has field <' + aObject.FieldName + '> with value <' + aObject.EditValue + '>'),
     of bcghttColumnHeader :: writeln('column header of ' + aObject.Caption),
     of bcghttFilterRow :: writeln('geht gegenwärtig nicht'),
     of bcghttGroupByBox :: writeln('group by box'),
     of bcghttGroupRow :: writeln('group row index ' + str(aObject.RecordIndex)),
     of bcghttGroupFooter :: writeln('group summary'),
     of bcghttFooter :: writeln('footer'),
  endcase,
end,

startseq
   // @VZB@ Der nachfolgende Teil wird automatisch gepflegt.
   oForm         := LoadForm("@GRIDTEST", Application),
   A_HelpContent := FindObject(oForm, "A_HelpContent"),
   DataSourceEx1 := FindObject(oForm, "DataSourceEx1"),
   // @VZE@ Der vorangehende Teil wird automatisch gepflegt.
   oGrid := CreateObject('TbeCbGrid', 'grd', oForm, oForm),
   oGrid.Align := alClient,
   oGrid.CbInitForDatasource(DataSourceEx1),
   oGrid.CbLoadUserSettings('test'),

   AssignEvent(oGrid, 'CbOnGridFocusedRecordChanged', 'DoOnRecordChanged'),
   AssignEvent(oGrid, 'CbOnDblClick', 'DoOnDblClick'),

   oQuery := CreateObject('TbeAdsQuery', ,oForm),
   DataSourceEx1.Dataset := oQuery,
   CollAdd(oQuery.SQL, 'select * from "dab050.adt" '),
   oQuery.Active := true,

   oGrid.CbBeginUpdate(),
   startseq
      oGrid.CbOrderBy('KDNR', true),
      oGrid.CbOrderBy('NAME1', true),
      cCurrentOrder := 'KDNR',
   always
      oGrid.CbEndUpdate(),
   stopseq,

   oGrid.CbNext(),
   ShowModal(oForm),
onerror
   DestroyObject(oForm),
   GU_ShowStdErrorMessage(GetErrorText(), GetErrorObj()),
stopseq,

Weitere Verknüpfungen