cxgridcustomtableview.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 1,405 行 · 第 1/5 页
PAS
1,405 行
function GetSortingBySummaryEngineClass: TcxSortingBySummaryEngineClass; override;
function GetSummaryGroupItemLinkClass: TcxDataSummaryGroupItemLinkClass; override;
function GetSummaryItemClass: TcxDataSummaryItemClass; override;
public
procedure BeginFullUpdate; override;
procedure EndFullUpdate; override;
function CreateDetailLinkObject(ARelation: TcxCustomDataRelation;
ARecordIndex: Integer): TObject; override;
procedure FocusControl(AItemIndex: Integer; var Done: Boolean); override;
function GetDetailDataControllerByLinkObject(ALinkObject: TObject): TcxCustomDataController; override;
function GetDisplayText(ARecordIndex, AItemIndex: Integer): string; override;
function GetFilterDataValue(ARecordIndex: Integer; AField: TcxCustomDataField): Variant; override;
function GetFilterItemFieldCaption(AItem: TObject): string; override;
function GetItem(Index: Integer): TObject; override;
function GetItemSortByDisplayText(AItemIndex: Integer; ASortByDisplayText: Boolean): Boolean; override;
function GetItemValueSource(AItemIndex: Integer): TcxDataEditValueSource; override;
procedure Loaded; override;
procedure UpdateData; override;
property GridView: TcxCustomGridTableView read GetGridViewValue;
published
property Filter;
property Options;
property Summary;
property OnAfterCancel;
property OnAfterDelete;
property OnAfterInsert;
property OnAfterPost;
property OnBeforeCancel;
property OnBeforeDelete;
property OnBeforeInsert;
property OnBeforePost;
property OnNewRecord;
property OnCompare;
property OnDataChanged;
property OnDetailCollapsing;
property OnDetailCollapsed;
property OnDetailExpanding;
property OnDetailExpanded;
property OnFilterRecord;
property OnGroupingChanged;
property OnRecordChanged;
property OnSortingChanged;
end;
TcxGridFilterValueListClass = class of TcxGridFilterValueList;
TcxGridFilterValueList = class(TcxDataFilterValueList)
protected
procedure AddDateTimeAbsoluteFilters(ADateRange: TcxCustomGridDateRange;
AIgnoreTime: Boolean); overload; virtual;
procedure AddDateTimeAbsoluteFilters(AItem: TcxCustomGridTableItem); overload; virtual;
procedure AddDateTimeRelativeFilters(AItem: TcxCustomGridTableItem); virtual;
function SupportedSpecialOperatorKinds: TcxFilterOperatorKinds; virtual;
public
procedure ApplyFilter(AItem: TcxCustomGridTableItem; AIndex: Integer;
AFilterList: TcxFilterCriteriaItemList; AReplaceExistent, AAddToMRUItemsList: Boolean);
function GetIndexByCriteriaItem(ACriteriaItem: TcxFilterCriteriaItem): Integer; override;
procedure Load(AItem: TcxCustomGridTableItem; AInitSortByDisplayText: Boolean = True;
AUseFilteredValues: Boolean = False); reintroduce; virtual;
end;
TcxGridFilterMRUValueItem = class(TcxMRUItem)
public
Value: Variant;
DisplayText: string;
constructor Create(const AValue: Variant; const ADisplayText: string);
function Equals(AItem: TcxMRUItem): Boolean; override;
end;
TcxGridFilterMRUValueItemsClass = class of TcxGridFilterMRUValueItems;
TcxGridFilterMRUValueItems = class(TcxMRUItems)
private
function GetItem(Index: Integer): TcxGridFilterMRUValueItem;
public
procedure Add(const AValue: Variant; const ADisplayText: string);
procedure AddItemsTo(AValueList: TcxGridFilterValueList);
property Items[Index: Integer]: TcxGridFilterMRUValueItem read GetItem; default;
end;
TcxGridItemDataBinding = class(TPersistent)
private
FData: TObject;
FDefaultValuesProvider: TcxCustomEditDefaultValuesProvider;
FItem: TcxCustomGridTableItem;
FFilterMRUValueItems: TcxGridFilterMRUValueItems;
function GetDataController: TcxCustomDataController;
function GetFilter: TcxDataFilterCriteria;
function GetFilterCriteriaItem: TcxFilterCriteriaItem;
function GetFiltered: Boolean;
function GetGridView: TcxCustomGridTableView;
function GetValueType: string;
function GetValueTypeClass: TcxValueTypeClass;
procedure SetData(Value: TObject);
procedure SetFiltered(Value: Boolean);
procedure SetValueType(const Value: string);
procedure SetValueTypeClass(Value: TcxValueTypeClass);
protected
function GetDefaultValuesProviderClass: TcxCustomEditDefaultValuesProviderClass;
function GetDefaultValueTypeClass: TcxValueTypeClass; virtual;
function GetFilterFieldName: string; virtual;
function GetFilterMRUValueItemsClass: TcxGridFilterMRUValueItemsClass; virtual;
procedure Init; virtual;
function IsValueTypeStored: Boolean; virtual;
property DefaultValuesProvider: TcxCustomEditDefaultValuesProvider read FDefaultValuesProvider;
public
constructor Create(AItem: TcxCustomGridTableItem); virtual;
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
function DefaultCaption: string; virtual;
function DefaultRepositoryItem: TcxEditRepositoryItem; virtual;
function DefaultWidth(ATakeHeaderIntoAccount: Boolean = True): Integer; virtual;
function GetDefaultValuesProvider(AProperties: TcxCustomEditProperties = nil): IcxEditDefaultValuesProvider;
function IsDisplayFormatDefined(AIsCurrencyValueAccepted: Boolean): Boolean;
function AddToFilter(AParent: TcxFilterCriteriaItemList; AOperatorKind: TcxFilterOperatorKind;
const AValue: Variant; const ADisplayText: string = '';
AReplaceExistent: Boolean = True): TcxFilterCriteriaItem;
procedure GetFilterDisplayText(const AValue: Variant; var ADisplayText: string);
procedure GetFilterStrings(AStrings: TStrings; AValueList: TcxGridFilterValueList);
procedure GetFilterValues(AValueList: TcxGridFilterValueList; AValuesOnly: Boolean = True;
AInitSortByDisplayText: Boolean = False; ACanUseFilteredValues: Boolean = False);
procedure GetFilterActiveValueIndexes(AValueList: TcxGridFilterValueList;
var AIndexes: TcxGridIndexes);
procedure SetFilterActiveValueIndexes(AValueList: TcxGridFilterValueList;
const AIndexes: TcxGridIndexes);
property Data: TObject read FData write SetData;
property DataController: TcxCustomDataController read GetDataController;
property Filter: TcxDataFilterCriteria read GetFilter;
property FilterCriteriaItem: TcxFilterCriteriaItem read GetFilterCriteriaItem;
property Filtered: Boolean read GetFiltered write SetFiltered;
property FilterFieldName: string read GetFilterFieldName;
property FilterMRUValueItems: TcxGridFilterMRUValueItems read FFilterMRUValueItems;
property GridView: TcxCustomGridTableView read GetGridView;
property Item: TcxCustomGridTableItem read FItem;
property ValueTypeClass: TcxValueTypeClass read GetValueTypeClass write SetValueTypeClass;
published
property ValueType: string read GetValueType write SetValueType stored IsValueTypeStored;
end;
{ view data }
// date ranges
TcxCustomGridDateRangeClass = class of TcxCustomGridDateRange;
TcxCustomGridDateRange = class
private
FContainer: TcxGridDateRanges;
function GetIndex: Integer;
procedure SetIndex(Value: Integer);
public
destructor Destroy; override;
function Contains(const ADate: TDateTime): Boolean; virtual; abstract;
function GetDisplayText(const ADate: TDateTime): string; virtual; abstract;
function GetRangeValue(const ADate: TDateTime; AIgnoreTime: Boolean): Variant; virtual;
function GetSortingValue(const ADate: TDateTime): Variant; virtual;
function GetValue(const ADate: TDateTime): Variant; virtual; abstract;
function NeedsSortingByTime: Boolean; virtual;
function NeedsTime: Boolean; virtual;
property Container: TcxGridDateRanges read FContainer;
property Index: Integer read GetIndex write SetIndex;
end;
TcxGridHourRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
function NeedsSortingByTime: Boolean; override;
end;
TcxGridDayRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridMonthRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetRangeValue(const ADate: TDateTime; AIgnoreTime: Boolean): Variant; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridYearRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetRangeValue(const ADate: TDateTime; AIgnoreTime: Boolean): Variant; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridYesterdayRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridTodayRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridTomorrowRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridLastWeekRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridThisWeekRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridNextWeekRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridLastMonthRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridThisMonthRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridNextMonthRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridLastYearRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridThisYearRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
function GetValue(const ADate: TDateTime): Variant; override;
end;
TcxGridNextYearRange = class(TcxCustomGridDateRange)
public
function Contains(const ADate: TDateTime): Boolean; override;
function GetDisplayText(const ADate: TDateTime): string; override;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?