1) 如何让“Drag a column here to group by that column”不显示
解决:点击cxGrid1上的cxGrid1DBTableView1
在cxGrid1DBTableView1->optionsview->groupbybox:=false即可
注:OptionsView里面有很多属性可能经常要用,比如:ColumnAutoWith,Navigator等等,慢慢琢磨吧:)
*************************************************************************************************
2) GroupPanel上面的英文[Drag a column header to group by that column]怎么可以改成中文?
procedure TForm1.cxGrid1DBTableView1CustomDrawPartBackground(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridCellViewInfo; var ADone: Boolean);
var
FBound: TRect;
begin
AViewInfo.Text:='动态设置 GroupBox 的显示内容';
FBound := AViewInfo.Bounds;
ACanvas.FillRect(FBound);
end;
**************************************************************************************
3) 导出Grid中的数据
procedure TForm3.Button1Click(Sender: TObject);
var
SaveDialog: TSaveDialog;
begin
SaveDialog:=TSaveDialog.Create(nil); //一个保存对话框
with SaveDialog do
begin
Filter := 'xls|*.xls|html|*.html|xml|*.xml|text|.txt'; //文件类型
if Execute then //execute打开对话框
begin
case SaveDialog.FilterIndex of
1: ExportGridToExcel(FileName, cxgrd2);
2: ExportGridToHTML(FileName, cxgrd2);
3: ExportGridToXML(FileName, cxgrd2);
4: ExportGridToText(FileName, cxgrd2);
end;
end;
end;
SaveDialog.Free;
ShowMessage('导出成功!');
end;
**************************************************************************************
4)如何改变列的颜色?
var
AFirstColumnStyle: TcxStyle;
procedure TForm1.FormCreate(Sender: TObject);
begin
//列颜色
AFirstColumnStyle := TcxStyle.Create(Self);
AFirstColumnStyle.Color := clAqua;
AFirstColumnStyle.TextColor := clBlue;
cxGrid1TableView1.Columns[1].Styles.Content := AFirstColumnStyle;
end;
*************************************************************************************
5)怎样使鼠标移动时,相应的单元格里的文字变色?
var
FTrackItem: TcxCustomGridTableItem;
FTrackRec: TcxCustomGridRecord;
procedure TForm1.cxGrid1DBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if (AViewInfo.GridRecord = FTrackRec) and (AViewInfo.Item = FTrackItem) then
begin
ACanvas.Font.Color := clred; //红色字体
ACanvas.Font.Style := [fsUnderline];//带下划线
end;
end;
procedure TForm1.cxGrid1DBTableView1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
AHitTest: TcxCustomGridHitTest;
ATrackItem: TcxCustomGridTableItem;
ATrackRec: TcxCustomGridRecord;
begin
ATrackItem := FTrackItem;
ATrackRec := FTrackRec;
AHitTest := (Sender as TcxGridSite).GridView.ViewInfo.GetHitTest(X, Y);
if AHitTest is TcxGridRecordCellHitTest then
begin
FTrackItem := TcxGridRecordCellHitTest(AHitTest).Item;
FTrackRec := TcxGridRecordCellHitTest(AHitTest).GridRecord;
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(ATrackItem);
// Invalidate new cell
if FTrackRec <> nil then
FTrackRec.Invalidate(FTrackItem);
end;
end;