카테고리 없음

[delphi] 델파이의 ReadOnly TDBGrid / TwwDBGrid 셀?

행복을전해요 2021. 1. 5. 17:33

Specific cell or all cells in one column?

다음과 같은 방식으로 읽기 전용으로 열을 설정할 수 있습니다.

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;
  
-------------------

Wodzu가 말했듯 TColumnReadOnly속성이 있습니다.



출처
https://stackoverflow.com/questions/2005784