UserRights = 3이 비활성화 된 행을 cxgrid에서 원합니다. cxgrid에서 행 사용 안 함
나는이 제안을 시도했지만 작동하지 않는 것 :// MAKING A ROW READ ONLY
procedure TForm1.cxGrid1DBTableView1InitEdit(
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
AEdit: TcxCustomEdit);
var
AKeyValue : Variant;
begin
AKeyValue := Sender.DataController.GetRecordId(Sender.Controller.FocusedRecordIndex);
if (AKeyValue = '3') then
AEdit.ActiveProperties.ReadOnly := True;
end;
내가 사용자가 데이터가 아니라 UserRights = 3을 편집 할 수 있어야합니다.
procedure TData_Module.USERSBeforePost(DataSet: TDataSet);
begin
if main_form.dxStatusBar1.Panels[0].Text = '3' then
Users.Post
else
showmessage('Access denied.');
abort;
end;
이만큼 main_form.dxStatusBar1.Panels [3]는 .text가 하지 3. 가 3 인 경우와 같이 확인을 작동하고 내가 시도하고 수정
내가 직접 차단 시도 어떤 기록이라도 나는 그 프로그램을 망가 뜨린다. 편집중인 행을 차단하는 것이 더 좋은 아이디어라고 생각했지만 제대로 작동하지 않는 것 같습니다. 어떤 아이디어?
DB에 대해 많이 알지는 못하지만, 첫 번째 시도에서는 'UserRights'라는 필드의 값이 아니라 레코드 ID를 요청하는 것 같습니다. –
두 번째 시도에서'... Panels [0] .Text'는 실제로 논리가 틀린'UserRights'를 반영합니다. 아마도'<> '3'을 사용해야합니다. 또한,'else' 뒤에 두 줄을 중심으로'begin end' 쌍을 놓친 것 같습니다. –