begin
{if (ARecord.values[colSerialNum.Index] = '10') or
(ARecord.values[colSerialNum.Index] = '11') or
(ARecord.values[colSerialNum.Index] = '12') or
(ARecord.values[colSerialNum.Index] = '13') or
(ARecord.values[colSerialNum.Index] = '14') or }
if Sender.IndexOfItem(AItem) = 2 then
if (ARecord.values[colSerialNum.Index] = '10') or
(ARecord.values[colSerialNum.Index] = '11') or
(ARecord.values[colSerialNum.Index] = '12') or
(ARecord.values[colSerialNum.Index] = '13') or
(ARecord.values[colSerialNum.Index] = '14') or
(ARecord.values[colSerialNum.Index] = '15') or
(ARecord.values[colSerialNum.Index] = '16') or
(ARecord.values[colSerialNum.Index] = '17') or
(ARecord.values[colSerialNum.Index] = '18') or
(ARecord.values[colSerialNum.Index] = '19') or
(ARecord.values[colSerialNum.Index] = '20') or
(ARecord.values[colSerialNum.Index] = '21') or
(ARecord.values[colSerialNum.Index] = '23') then
begin
AStyle := FrmMain.cxStyle1;
end;
if (ARecord.values[colSerialNum.Index] = '1') or
(ARecord.values[colSerialNum.Index] = '25') or
(ARecord.values[colSerialNum.Index] = '30') {or
(ARecord.values[colSerialNum.Index] = '16')}then // 如果该列的值为'2', 全额全数量处置显示为红色
begin
AStyle := FrmMain.cxStyle1;
end;
end;
5. 使某个列不能编辑
procedure TInventoryAssetApplicationRecordBaseForm.ViewDetailFocusedRecordChanged(
Sender: TcxCustomGridTableView; APrevFocusedRecord,
AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
begin
if dsDetail.DataSet.FieldByName('ID').asinteger in [25, 30, 1, 10] then
begin
colReduceNumber.options.editing := false;
colIncreaseNumber.options.editing := false;
end else
begin
colReduceNumber.options.editing := True;
colIncreaseNumber.options.editing := True;
end;
if dsDetail.DataSet.FieldByName('ID').asinteger in
[10, 11, 12, 13, 14,15, 16,17, 18, 19, 20, 21, 25, 30, 1] then
begin
colNumInitValue.options.editing := false;
end else
begin
colNumInitValue.options.editing := True;
end;
2)如何让“Drag a column here to group by that column”不显示
解决:点击cxGrid1上的cxGrid1DBTableView1
在cxGrid1DBTableView1->optionsview->groupbybox:=false即可
注:OptionsView里面有很多属性可能经常要用,比如:ColumnAutoWith,Navigator等等,慢慢琢磨吧:)
3)GroupPanel上面的英文[Drag a column header to group by that column]怎么可以改成中文?
解决:最简单的方法是 TcxGridTableView.OnCustomDrawPartBackground ,也可用 OnCustomDrawGroupCell:
procedure TForm1.cxGrid1DBTableView1CustomDrawPartBackground(
Sender: TcxGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxCustomGridCellViewInfo; var ADone: Boolean);
begin
AViewInfo.Text:='动态设置 GroupBox 的显示内容';
ACanvas.FillRect(AViewInfo.Bounds);
end;