| 說明
| 字段
等類似的功能
拖入一個cxGrid
Table
DataSource
cxGrid
右擊cxGrid
雙擊cxGrid
運行看看結果
再將cxGrid
解決
在cxGrid
注
解決
procedure TForm
begin
AViewInfo
ACanvas
end;
+財務部
+原材料倉庫
+成品庫
+沖壓車間
+軟件開發部
這個是部門的名稱
解決
注
解決
cxGrid
解決
解決
在cxGrid
Band
Band
設置要鎖定的字段的BandIndex=
解決
label
所以不同cxGrid
解決
解決
uses
cxExportGrid
procedure TForm
begin
ExportGrid
ExportGrid
ExportGrid
ExportGrid
end;
解決
var
AYellowStyle: TcxStyle;
procedure TForm
begin
//行顏色
AYellowStyle := TcxStyle
AYellowStyle
AYellowStyle
end;
procedure TForm
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
Item: TcxCustomGridTableItem; out AStyle: TcxStyle);
begin
if ARecord
AStyle := AYellowStyle;
end;
這裡cxGrid
問題
解決
procedure LoadData;
procedure TForm
const
cDistance =
cRadius =
cPeriod =
cPstring =
var
I: Integer;
begin
DecimalSeparator :=
with cxGrid
for I :=
if I in [cDistance
Columns[I]
//
else
if I in [cPstring
Columns[I]
//
else
Columns[I]
//其他為Float
end;
procedure TForm
const
AFileName =
AHeaderLineCount =
var
ARecords
I: Integer;
procedure InitRecord(const Str: string);
var
J: Integer;
V: Variant;
begin
AValues
for J :=
if AValues
begin
V := AValues
if not VarIsNull(V) then
cxGrid
end;
end;
begin
if not FileExists(AFileName) then
raise Exception
ARecords := TStringList
AValues := TStringList
with ARecords do
try
LoadFromFile(AFileName);
cxGrid
cxGrid
for I :=
InitRecord(Strings[I + AHeaderLineCount]);
finally
cxGrid
ARecords
AValues
end;
end;
procedure TForm
begin
CustomizeColumns;
LoadData_Zcfz;
end;
其中
資 產 行次 年初數 期末數 負債及所有者權益 行次 年初數 期末數
流動資產
var
AFirstColumnStyle: TcxStyle;
procedure TForm
begin
//列顏色
AFirstColumnStyle := TcxStyle
AFirstColumnStyle
AFirstColumnStyle
cxGrid
end;
解決
連好數據庫以後
OK
解決
var
FTrackItem: TcxCustomGridTableItem;
FTrackRec: TcxCustomGridRecord;
procedure TForm
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if (AViewInfo
begin
ACanvas
ACanvas
end;
end;
procedure TForm
Shift: TShiftState; X
var
AHitTest: TcxCustomGridHitTest;
ATrackItem: TcxCustomGridTableItem;
ATrackRec: TcxCustomGridRecord;
begin
ATrackItem := FTrackItem;
ATrackRec := FTrackRec;
AHitTest := (Sender as TcxGridSite)
if AHitTest is TcxGridRecordCellHitTest then
begin
FTrackItem := TcxGridRecordCellHitTest(AHitTest)
FTrackRec := TcxGridRecordCellHitTest(AHitTest)
end
else
begin
FTrackItem := nil;
FTrackRec := nil;
end;
if (ATrackItem <> FTrackItem) or (ATrackRec <> FTrackRec) then
begin
// Invalidate old cell
if ATrackRec <> nil then
ATrackRec
// Invalidate new cell
if FTrackRec <> nil then
FTrackRec
end;
end;
解決
| 說明
| 字段
| 字段
| 字段
實現這個很簡單
但是cxGrid不能實現如下的多表頭形式
| 說明
| 說明
| 字段
| 字段
不知道有誰能實現這樣的多表頭?
解決
var
HitTest: TcxCustomGridHitTest;
procedure TColumnsShareDemoMainForm
Button: TMouseButton; Shift: TShiftState; X
begin
// Note that the Sender parameter is a Site
HitTest := (Sender as TcxGridSite)
// The point belongs to the [+]/[
if HitTest is TcxGridExpandButtonHitTest then
// Move focus to the record
TcxGridExpandButtonHitTest(HitTest)
end;
以上是在用cxGrid時候碰到的一些問題
From:http://tw.wingwit.com/Article/program/Delphi/201311/8449.html