dbadvgrid.hpp

来自「TMSPack基本上涵盖了Delphi所有的基础控件」· HPP 代码 · 共 636 行 · 第 1/3 页

HPP
636
字号
	void __fastcall SynchColumns(void);
	void __fastcall SetColumnCollection(const TDBGridColumnCollection* Value);
	int __fastcall GetColCount(void);
	HIDESBASE void __fastcall SetColCount(const int Value);
	void __fastcall SetShowMemoFields(const bool Value);
	void __fastcall CellValidateEvent(System::TObject* Sender, int ACol, int ARow, AnsiString &Value, bool &Valid);
	void __fastcall CellValidateWideEvent(System::TObject* Sender, int ACol, int ARow, WideString &Value, bool &Valid);
	void __fastcall CanSortEvent(System::TObject* Sender, int ACol, bool &DoSort);
	void __fastcall SetShowDBIndicator(const bool Value);
	void __fastcall SetShowBooleanFields(const bool Value);
	void __fastcall SetShowPictureFields(const bool Value);
	Db::TField* __fastcall GetDBFieldAtColumn(int ACol);
	Db::TField* __fastcall GetSelectedField(void);
	int __fastcall GetDBFieldIndexAtColumn(int ACol);
	HIDESBASE int __fastcall GetFixedRowsEx(void);
	HIDESBASE void __fastcall SetFixedRowsEx(const int Value);
	AnsiString __fastcall HTMLDBReplace(AnsiString s, Db::TDataSet* dataset, int ACol, int ARow);
	void __fastcall LoadFromDataSet(void);
	void __fastcall RemoveAllPictures(void);
	void __fastcall RemoveAllBooleanCheckBoxes(void);
	void __fastcall RemoveAllStringCheckBoxes(void);
	void __fastcall RemoveAllGraphics(void);
	void __fastcall RemoveAllCellValues(void);
	void __fastcall SetPageMode(const bool Value);
	void __fastcall SetDataSetType(const TDataSetType Value);
	int __fastcall GetDBRow(void);
	void __fastcall SetDBRow(const int Value);
	int __fastcall MouseOverDesignChoice(int X, int Y);
	void __fastcall DesignerUpdate(void);
	TDBGridColumnItem* __fastcall GetColumnByName(AnsiString AValue);
	TDBGridColumnItem* __fastcall GetColumnByFieldName(AnsiString AValue);
	void __fastcall SetDatasetTypeAuto(const bool Value);
	void __fastcall SetEditPostMode(const TEditPostMode Value);
	void __fastcall SetAutoCreateColumns(const bool Value);
	void __fastcall SetAutoRemoveColumns(const bool Value);
	void __fastcall SetShowDesignHelper(const bool Value);
	void __fastcall SetInvalidPicture(const Graphics::TPicture* Value);
	
protected:
	virtual bool __fastcall CanEditShow(void);
	DYNAMIC bool __fastcall CanEditModify(void);
	virtual void __fastcall WndProc(Messages::TMessage &Message);
	bool __fastcall DBWheelUp(void);
	bool __fastcall DBWheelDown(void);
	virtual void __fastcall DirectWheelChange(int delta);
	DYNAMIC bool __fastcall DoMouseWheelDown(Classes::TShiftState Shift, const Types::TPoint &MousePos);
	DYNAMIC bool __fastcall DoMouseWheelUp(Classes::TShiftState Shift, const Types::TPoint &MousePos);
	virtual void __fastcall DoCanEditCell(int ACol, int ARow, bool &CanEdit);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	virtual bool __fastcall SelectCell(int ACol, int ARow);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	virtual bool __fastcall CanModify(void);
	virtual int __fastcall GetRecordCount(void);
	virtual AnsiString __fastcall GetCurrentCell();
	virtual void __fastcall GetDisplText(int c, int r, AnsiString &Value);
	virtual void __fastcall DrawCell(int ACol, int ARow, const Types::TRect &ARect, Grids::TGridDrawState AState);
	virtual void __fastcall Scroll(int Distance);
	DYNAMIC void __fastcall TopLeftChanged(void);
	DYNAMIC void __fastcall ColumnMoved(int FromIndex, int ToIndex);
	virtual void __fastcall Loaded(void);
	virtual TDBGridColumnCollection* __fastcall CreateColumns(void);
	DYNAMIC void __fastcall ColWidthsChanged(void);
	virtual void __fastcall GetCellAlign(int ACol, int ARow, Classes::TAlignment &HAlign, Basegrid::TVAlignment &VAlign);
	virtual void __fastcall GetCellBorder(int ACol, int ARow, Graphics::TPen* APen, Advgrid::TCellBorders &borders);
	virtual void __fastcall GetCellPrintBorder(int ACol, int ARow, Graphics::TPen* APen, Advgrid::TCellBorders &borders);
	virtual void __fastcall GetCellPrintColor(int ACol, int ARow, Grids::TGridDrawState AState, Graphics::TBrush* ABrush, Graphics::TFont* AFont);
	virtual void __fastcall GetCellColor(int ACol, int ARow, Grids::TGridDrawState AState, Graphics::TBrush* ABrush, Graphics::TFont* AFont);
	virtual bool __fastcall HasCombo(int ACol, int ARow);
	virtual void __fastcall GetCellEditor(int ACol, int ARow, Basegrid::TEditorType &AEditor);
	virtual void __fastcall GetCellFixed(int ACol, int ARow, bool &IsFixed);
	virtual void __fastcall GetCellPassword(int ACol, int ARow, bool &IsPassword);
	virtual void __fastcall GetColFormat(int ACol, Advgrid::TSortStyle &ASortStyle, AnsiString &aPrefix, AnsiString &aSuffix);
	DYNAMIC int __fastcall GetEditLimit(void);
	DYNAMIC AnsiString __fastcall GetEditMask(int ACol, int ARow);
	virtual Advgrid::TCellGraphic* __fastcall GetCellGraphic(int ACol, int ARow);
	virtual Advgrid::TCellType __fastcall GetCellType(int ACol, int ARow);
	virtual AnsiString __fastcall GetCheckFalse(int ACol, int ARow);
	virtual AnsiString __fastcall GetCheckTrue(int ACol, int ARow);
	virtual bool __fastcall GetFilter(int ACol);
	virtual void __fastcall UpdateColSize(int ACol, int &NewWidth);
	virtual void __fastcall UpdateAutoColSize(int ACol, int &NewWidth);
	virtual void __fastcall UpdateColHeaders(void);
	virtual AnsiString __fastcall GetFormattedCell(int ACol, int ARow);
	DYNAMIC void __fastcall SetEditText(int ACol, int ARow, const AnsiString Value);
	DYNAMIC AnsiString __fastcall GetEditText(int ACol, int ARow);
	virtual void __fastcall GetCellReadOnly(int ACol, int ARow, bool &IsReadOnly);
	virtual bool __fastcall ToggleCheck(int ACol, int ARow, bool FromEdit);
	virtual void __fastcall PasteInCell(int ACol, int ARow, AnsiString Value);
	virtual void __fastcall DoAppendRow(void);
	void __fastcall RemoveStringCheckBox(int ACol);
	void __fastcall AddStringCheckBox(int ACol);
	virtual void __fastcall QueryAddRow(bool &AllowAdd);
	void __fastcall LoadLookupList(Db::TField* fld, Classes::TStrings* list);
	void __fastcall LoadWideLookupList(Db::TField* fld, Widestrings::TWideStrings* list);
	AnsiString __fastcall GetLookupKey(int i);
	__property TAdvGridDataLink* DataLink = {read=FDataLink};
	__property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
	virtual void __fastcall Paint(void);
	virtual void __fastcall UpdateOnSelection(Grids::TGridRect &GR);
	virtual void __fastcall UpdateSelectionRect(Grids::TGridRect &GR);
	void __fastcall BlobFieldToStream(Db::TBlobField* DBField, Types::TPoint &size, int Col, int Row);
	virtual void __fastcall TabToNextRowAtEnd(void);
	virtual void __fastcall OnMouseActionsChanged(System::TObject* Sender);
	virtual void __fastcall EditKeyDown(Word &Key, Classes::TShiftState Shift);
	virtual void __fastcall Edit_WMKeyDown(Messages::TWMKey &Msg);
	virtual void __fastcall OnNavigationChanged(System::TObject* Sender);
	virtual bool __fastcall DoAllowFmtPaste(void);
	virtual void __fastcall DoInvalidPicture(int Col, int Row);
	
public:
	__fastcall virtual TDBAdvGrid(Classes::TComponent* AOwner);
	__fastcall virtual ~TDBAdvGrid(void);
	virtual void __fastcall AssignCells(Classes::TPersistent* Source);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	DYNAMIC void __fastcall Resize(void);
	virtual int __fastcall GetVersionNr(void);
	virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
	__property TDBGridColumnItem* ColumnByName[AnsiString AValue] = {read=GetColumnByName};
	__property TDBGridColumnItem* ColumnByFieldName[AnsiString AValue] = {read=GetColumnByFieldName};
	virtual bool __fastcall ValidateCell(const AnsiString NewValue);
	virtual void __fastcall ExportNotification(Advgrid::TGridExportState state, int ARow);
	virtual void __fastcall ImportNotification(Advgrid::TGridImportState AState, int ARow);
	DYNAMIC bool __fastcall ExecuteAction(Classes::TBasicAction* Action);
	DYNAMIC bool __fastcall UpdateAction(Classes::TBasicAction* Action);
	__property int FieldCount = {read=GetFieldCount, nodefault};
	__property Db::TField* Fields[int FieldIndex] = {read=GetFields};
	void __fastcall AddAllFields(void);
	void __fastcall RemoveAllFields(void);
	void __fastcall RemoveAllColumns(void);
	void __fastcall SaveColumnPositions(AnsiString Key, AnsiString Section);
	void __fastcall LoadColumnPositions(AnsiString Key, AnsiString Section);
	void __fastcall UpdateActive(void);
	void __fastcall Reload(void);
	void __fastcall UpdateDisplay(void);
	__property int Row = {read=GetDBRow, write=SetDBRow, nodefault};
	__property Db::TField* SelectedField = {read=GetSelectedField};
	__property Db::TField* FieldAtColumn[int ACol] = {read=GetDBFieldAtColumn};
	__property int FieldIndexAtColumn[int Acol] = {read=GetDBFieldIndexAtColumn};
	
__published:
	__property bool AutoCreateColumns = {read=FAutoCreateColumns, write=SetAutoCreateColumns, nodefault};
	__property bool AutoRemoveColumns = {read=FAutoRemoveColumns, write=SetAutoRemoveColumns, nodefault};
	__property TDBGridColumnCollection* Columns = {read=FColumnCollection, write=SetColumnCollection};
	__property int ColCount = {read=GetColCount, write=SetColCount, nodefault};
	__property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
	__property bool DatasetTypeAuto = {read=FDatasetTypeAuto, write=SetDatasetTypeAuto, default=1};
	__property TDataSetType DataSetType = {read=FDataSetType, write=SetDataSetType, default=0};
	__property TEditPostMode EditPostMode = {read=FEditPostMode, write=SetEditPostMode, default=0};
	__property int FixedRows = {read=GetFixedRowsEx, write=SetFixedRowsEx, nodefault};
	__property bool PageMode = {read=FPageMode, write=SetPageMode, default=1};
	__property Graphics::TPicture* InvalidPicture = {read=FInvalidPicture, write=SetInvalidPicture};
	__property bool RefreshOnDelete = {read=FRefreshOnDelete, write=FRefreshOnDelete, default=0};
	__property bool RefreshOnInsert = {read=FRefreshOnInsert, write=FRefreshOnInsert, default=0};
	__property bool ShowDBIndicator = {read=FShowDBIndicator, write=SetShowDBIndicator, default=1};
	__property bool ShowMemoFields = {read=FShowMemoFields, write=SetShowMemoFields, default=0};
	__property bool ShowBooleanFields = {read=FShowBooleanFields, write=SetShowBooleanFields, default=0};
	__property bool ShowDesignHelper = {read=FShowDesignHelper, write=SetShowDesignHelper, default=1};
	__property bool ShowPictureFields = {read=FShowPictureFields, write=SetShowPictureFields, default=0};
	__property bool ShowUnicode = {read=FShowUnicode, write=FShowUnicode, nodefault};
	__property Advgrid::TRowChangingEvent OnRowChanging = {read=FOnRowChanging, write=FOnRowChanging};
	__property Advgrid::TRowChangedEvent OnRowUpdate = {read=FOnRowChanged, write=FOnRowChanged};
	__property Advgrid::TCellValidateEvent OnCellValidate = {read=FOnCellValidate, write=FOnCellValidate};
	__property Advgrid::TCellValidateWideEvent OnCellValidateWide = {read=FOnCellValidateWide, write=FOnCellValidateWide};
	__property Advgrid::TCanSortEvent OnCanSort = {read=FOnCanSort, write=FOnCanSort};
	__property TDBColumnPopupEvent OnColumnPopup = {read=FOnColumnPopup, write=FOnColumnPopup};
	__property TSetQueryOrderEvent OnSetQueryOrder = {read=FOnSetQueryOrder, write=FOnSetQueryOrder};
	__property Grids::TGetEditEvent OnGetEditText = {read=FOnGetEditText, write=FOnGetEditText};
	__property TGetRecordCountEvent OnGetRecordCount = {read=FOnGetRecordCount, write=FOnGetRecordCount};
	__property TGetHTMLTemplateDataEvent OnGetHTMLTemplateData = {read=FOnGetHTMLTemplateData, write=FOnGetHTMLTemplateData};
	__property TInvalidPictureEvent OnInvalidPicture = {read=FOnInvalidPicture, write=FOnInvalidPicture};
	__property TFieldToStreamEvent OnFieldToStream = {read=FOnFieldToStream, write=FOnFieldToStream};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TDBAdvGrid(HWND ParentWindow) : Advgrid::TAdvStringGrid(ParentWindow) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TAdvGridDataLink : public Db::TDataLink 
{
	typedef Db::TDataLink inherited;
	
private:
	TDBAdvGrid* FGrid;
	int FFieldCount;
	DynamicArray<int >  FFieldMap;
	bool FModified;
	bool FInUpdateData;
	bool FSparseMap;
	bool __fastcall GetDefaultFields(void);
	Db::TField* __fastcall GetFields(int I);
	
protected:
	virtual void __fastcall ActiveChanged(void);
	void __fastcall BuildAggMap(void);
	virtual void __fastcall DataSetChanged(void);
	virtual void __fastcall DataSetScrolled(int Distance);
	virtual void __fastcall FocusControl(Db::TFieldRef Field);
	virtual void __fastcall EditingChanged(void);
	virtual bool __fastcall IsAggRow(int Value);
	virtual void __fastcall LayoutChanged(void);
	virtual void __fastcall RecordChanged(Db::TField* Field);
	virtual void __fastcall UpdateData(void);
	int __fastcall GetMappedIndex(int ColIndex);
	
public:
	__fastcall TAdvGridDataLink(TDBAdvGrid* AGrid);
	__fastcall virtual ~TAdvGridDataLink(void);
	bool __fastcall AddMapping(const AnsiString FieldName);
	void __fastcall ClearMapping(void);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?