gpt4 book ai didi

delphi - Delphi 中的只读 TDBGrid/TwwDBGrid 单元格?

转载 作者:行者123 更新时间:2023-12-03 02:45:11 24 4
gpt4 key购买 nike

是否可以在 Delphi 中将 TDBGrid(或 TwwDBGrid)单元格设置为只读?目前,我正在摆弄单元格的字面灰色并在编辑后将其清除,但这不是很令人满意。

干杯,杰米

最佳答案

特定单元格还是一列中的所有单元格?

您可以通过以下方式将列设置为只读:

TDBGrid.Colums[IndexOfColumn].ReadOnly := True;

如果您想控制特定单元格,那么您可以尝试在 OnCellClickEvent 中编写“保护”方案。我想你甚至可以设置 TDBGrid.Colums[IndexOfColumn].ReadOnly := True;在这种情况下,给定的单元格应该是只读的。像这样的东西:

procedure TForm.DBGridCellClick(Column: TColumn);
begin
Column.ReadOnly := ConditionForReadOnly(Column);
end;

编辑后:

我已经检查过这个解决方案并且它有效。

例如,如果您只想编辑大于第一个列中的单元格,并且它们的值必须为 0(以便能够编辑它们),那么保护方案将如下所示:

procedure TForm.DBGridCellClick(Column: TColumn);
begin
Column.ReadOnly := (qry['FieldWithValue'] <> 0) or (Column.Index < 1); //Index is 0-based
end;

关于delphi - Delphi 中的只读 TDBGrid/TwwDBGrid 单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2005491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com