📄 dbadvgrid.hpp
字号:
__fastcall virtual ~TDBAdvGrid(void);
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);
__property int Row = {read=GetDBRow, write=SetDBRow, nodefault};
__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 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};
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);
void __fastcall Modified(void);
void __fastcall Reset(void);
__property bool DefaultFields = {read=GetDefaultFields, nodefault};
__property int FieldCount = {read=FFieldCount, nodefault};
__property Db::TField* Fields[int I] = {read=GetFields};
__property bool SparseMap = {read=FSparseMap, write=FSparseMap, nodefault};
__property TDBAdvGrid* Grid = {read=FGrid};
};
#pragma option push -b-
enum TColumnPopupType { cpFixedCellsRClick, cpFixedCellsLClick, cpNormalCellsRClick, cpNormalCellsLClick, cpAllCellsRClick, cpAllCellsLClick };
#pragma option pop
class PASCALIMPLEMENTATION TDBGridColumnItem : public Classes::TCollectionItem
{
typedef Classes::TCollectionItem inherited;
private:
Db::TField* FField;
AnsiString FFieldName;
int FWidth;
Classes::TAlignment FAlignment;
AnsiString FColumnHeader;
Advgrid::TSortStyle FSortStyle;
AnsiString FSortPrefix;
AnsiString FSortSuffix;
AnsiString FEditMask;
int FEditLength;
Advgrid::TEditLink* FEditLink;
Graphics::TFont* FFont;
Graphics::TColor FColor;
Basegrid::TEditorType FEditorType;
bool FFixed;
bool FReadOnly;
Classes::TStringList* FComboItems;
int FSpinMin;
int FSpinMax;
int FSpinStep;
bool FPassword;
Graphics::TFont* FPrintFont;
Graphics::TColor FPrintColor;
Advgrid::TCellBorders FBorders;
Graphics::TPen* FBorderPen;
Advgrid::TCellBorders FPrintBorders;
Graphics::TPen* FPrintBorderPen;
int FTag;
int FDefIdx;
AnsiString FName;
AnsiString FCheckFalse;
AnsiString FCheckTrue;
bool FShowBands;
Classes::TStringList* FFilter;
int FMaxSize;
int FMinSize;
int FAutoMinSize;
int FAutoMaxSize;
TColumnPopupType FColumnPopupType;
Menus::TPopupMenu* FColumnPopup;
bool FFilterCaseSensitive;
AnsiString FFloatFormat;
bool FPictureField;
bool FCheckBoxField;
bool FProgressField;
bool FDataImageField;
Graphics::TColor FProgressColor;
Graphics::TColor FProgressBKColor;
Graphics::TColor FProgressTextColor;
Graphics::TColor FProgressTextBKColor;
AnsiString FHTMLTemplate;
Classes::TAlignment FHeaderAlignment;
Graphics::TFont* FHeaderFont;
bool FShowUnicode;
void __fastcall SetWidth(const int Value);
int __fastcall GetWidth(void);
void __fastcall SetAlignment(const Classes::TAlignment Value);
void __fastcall SetHeaderAlignment(const Classes::TAlignment Value);
void __fastcall SetColumnHeader(const AnsiString Value);
void __fastcall SetFont(const Graphics::TFont* Value);
void __fastcall SetColor(const Graphics::TColor Value);
void __fastcall SetFixed(const bool Value);
void __fastcall SetPassword(const bool Value);
void __fastcall SetComboItems(const Classes::TStringList* Value);
void __fastcall FontChanged(System::TObject* Sender);
void __fastcall PenChanged(System::TObject* Sender);
void __fastcall SetBorders(const Advgrid::TCellBorders Value);
void __fastcall SetBorderPen(const Graphics::TPen* Value);
AnsiString __fastcall GetRows(int idx);
void __fastcall SetRows(int idx, const AnsiString Value);
System::TDateTime __fastcall GetDates(int idx);
double __fastcall GetFloats(int idx);
int __fastcall GetInts(int idx);
void __fastcall SetDates(int idx, const System::TDateTime Value);
void __fastcall SetFloats(int idx, const double Value);
void __fastcall SetInts(int idx, const int Value);
System::TDateTime __fastcall GetTimes(int idx);
void __fastcall SetTimes(int idx, const System::TDateTime Value);
void __fastcall SetEditorType(const Basegrid::TEditorType Value);
void __fastcall SetShowBands(const bool Value);
void __fastcall SetFilter(const Classes::TStringList* Value);
void __fastcall FilterChanged(System::TObject* Sender);
void __fastcall SetFloatFormat(const AnsiString Value);
Db::TField* __fastcall GetField(void);
virtual void __fastcall SetField(Db::TField* Value);
void __fastcall SetFieldName(const AnsiString Value);
void __fastcall SetPictureField(const bool Value);
void __fastcall SetCheckBoxField(const bool Value);
void __fastcall SetProgressField(const bool Value);
void __fastcall SetProgressColor(const Graphics::TColor Value);
void __fastcall SetProgressBKColor(const Graphics::TColor Value);
void __fastcall SetProgressTextColor(const Graphics::TColor Value);
void __fastcall SetProgressTextBKColor(const Graphics::TColor Value);
void __fastcall SetDataImageField(const bool Value);
void __fastcall SetHTMLTemplate(const AnsiString Value);
void __fastcall SetHeaderFont(const Graphics::TFont* Value);
protected:
virtual AnsiString __fastcall GetDisplayName();
TDBAdvGrid* __fastcall GetGrid(void);
virtual void __fastcall SetIndex(int Value);
public:
__fastcall virtual TDBGridColumnItem(Classes::TCollection* Collection);
__fastcall virtual ~TDBGridColumnItem(void);
virtual void __fastcall Assign(Classes::TPersistent* Source);
void __fastcall AssignVisuals(Classes::TPersistent* Source);
__property int DefIdx = {read=FDefIdx, write=FDefIdx, nodefault};
__property AnsiString Rows[int idx] = {read=GetRows, write=SetRows};
__property int Ints[int idx] = {read=GetInts, write=SetInts};
__property double Floats[int idx] = {read=GetFloats, write=SetFloats};
__property System::TDateTime Dates[int idx] = {read=GetDates, write=SetDates};
__property System::TDateTime Times[int idx] = {read=GetTimes, write=SetTimes};
__property Db::TField* Field = {read=GetField, write=SetField};
__published:
__property int AutoMinSize = {read=FAutoMinSize, write=FAutoMinSize, default=0};
__property int AutoMaxSize = {read=FAutoMaxSize, write=FAutoMaxSize, default=0};
__property Classes::TAlignment Alignment = {read=FAlignment, write=SetAlignment, default=0};
__property Advgrid::TCellBorders Borders = {read=FBorders, write=SetBorders, nodefault};
__property Graphics::TPen* BorderPen = {read=FBorderPen, write=SetBorderPen};
__property bool CheckBoxField = {read=FCheckBoxField, write=SetCheckBoxField, default=0};
__property AnsiString CheckFalse = {read=FCheckFalse, write=FCheckFalse};
__property AnsiString CheckTrue = {read=FCheckTrue, write=FCheckTrue};
__property Graphics::TColor Color = {read=FColor, write=SetColor, nodefault};
__property Menus::TPopupMenu* ColumnPopup = {read=FColumnPopup, write=FColumnPopup};
__property TColumnPopupType ColumnPopupType = {read=FColumnPopupType, write=FColumnPopupType, default=0};
__property Classes::TStringList* ComboItems = {read=FComboItems, write=SetComboItems};
__property bool DataImageField = {read=FDataImageField, write=SetDataImageField, default=0};
__property int EditLength = {read=FEditLength, write=FEditLength, default=0};
__property Advgrid::TEditLink* EditLink = {read=FEditLink, write=FEditLink};
__property AnsiString EditMask = {read=FEditMask, write=FEditMask};
__property Basegrid::TEditorType Editor = {read=FEditorType, write=SetEditorType, default=0};
__property AnsiString FieldName = {read=FFieldName, write=SetFieldName};
__property Classes::TStringList* Filter = {read=FFilter, write=SetFilter};
__property bool FilterCaseSensitive = {read=FFilterCaseSensitive, write=FFilterCaseSensitive, default=0};
__property bool Fixed = {read=FFixed, write=SetFixed, default=0};
__property AnsiString FloatFormat = {read=FFloatFormat, write=SetFloatFormat};
__property Graphics::TFont* Font = {read=FFont, write=SetFont};
__property AnsiString Header = {read=FColumnHeader, write=SetColumnHeader};
__property Graphics::TFont* HeaderFont = {read=FHeaderFont, write=SetHeaderFont};
__property Classes::TAlignment HeaderAlignment = {read=FHeaderAlignment, write=SetHeaderAlignment, default=0};
__property AnsiString HTMLTemplate = {read=FHTMLTemplate, write=SetHTMLTemplate};
__property int MinSize = {read=FMinSize, write=FMinSize, default=0};
__property int MaxSize = {read=FMaxSize, write=FMaxSize, default=0};
__property AnsiString Name = {read=FName, write=FName};
__property bool Password = {read=FPassword, write=SetPassword, default=0};
__property bool PictureField = {read=FPictureField, write=SetPictureField, default=0};
__property Advgrid::TCellBorders PrintBorders = {read=FPrintBorders, write=FPrintBorders, nodefault};
__property Graphics::TPen* PrintBorderPen = {read=FPrintBorderPen, write=FPrintBorderPen};
__property Graphics::TColor PrintColor = {read=FPrintColor, write=FPrintColor, default=16777215};
__property Graphics::TFont* PrintFont = {read=FPrintFont, write=FPrintFont};
__property Graphics::TColor ProgressColor = {read=FProgressColor, write=SetProgressColor, default=255};
__property Graphics::TColor ProgressBKColor = {read=FProgressBKColor, write=SetProgressBKColor, default=16777215};
__property Graphics::TColor ProgressTextColor = {read=FProgressTextColor, write=SetProgressTextColor, default=16777215};
__property Graphics::TColor ProgressTextBKColor = {read=FProgressTextBKColor, write=SetProgressTextBKColor, default=255};
__property bool ProgressField = {read=FProgressField, write=SetProgressField, default=0};
__property bool ReadOnly = {read=FReadOnly, write=FReadOnly, default=0};
__property bool ShowBands = {read=FShowBands, write=SetShowBands, default=0};
__property bool ShowUnicode = {read=FShowUnicode, write=FShowUnicode, default=0};
__property Advgrid::TSortStyle SortStyle = {read=FSortStyle, write=FSortStyle, default=0};
__property AnsiString SortPrefix = {read=FSortPrefix, write=FSortPrefix};
__property AnsiString SortSuffix = {read=FSortSuffix, write=FSortSuffix};
__property int SpinMax = {read=FSpinMax, write=FSpinMax, default=0};
__property int SpinMin = {read=FSpinMin, write=FSpinMin, default=0};
__property int SpinStep = {read=FSpinStep, write=FSpinStep, default=1};
__property int Tag = {read=FTag, write=FTag, default=0};
__property int Width = {read=GetWidth, write=SetWidth, default=50};
};
//-- var, const, procedure ---------------------------------------------------
static const Shortint MAJ_VER = 0x2;
static const Shortint MIN_VER = 0x1;
static const Shortint REL_VER = 0x1;
static const Shortint BLD_VER = 0xb;
#define s_QuickConfig "Quick config"
#define s_AddAllFIelds "Add all DB fields"
#define s_RemoveAllFields "Remove all DB fields"
#define s_RemoveAllColumns "Remove all columns"
} /* namespace Dbadvgrid */
using namespace Dbadvgrid;
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // Dbadvgrid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -