IT/TMS2009. 5. 6. 11:21


그리드의 Edit속성을 관리한다.

procedure TfrmYSSimsa.sgdDatCanEditCell(Sender: TObject; ARow, ACol: Integer;
  var CanEdit: Boolean);

말그대로 ARow, ACol의 Cell에서 CanEdit속성을 정한다.

    if sgdDat.Cells[cDDATCANCEL, ARow] = '0' then                               //삭제인 경우 무조건 EDIT를 무시하게 한다.
    begin
        CanEdit := FALSE;
    end
    else
    begin
        case ACol of
            cDDATODRCOD, cDDATODRDTE :
            begin
                if Trim(sgdDat.Cells[cDDATODRDTE, ARow]) <> '' then
                    CanEdit := FALSE
                else
                    CanEdit := TRUE;
            end;

            cDDATLAGCOD, cDVIWTOTCOD, cDDATSPCFNT : CanEdit   := FALSE;

            cDDATODRPRC, cDDATODRAMT :
            begin
                if (lstChuInf.CI_CHUBILDGS = '2') or
                   (sgdDat.Cells[cDDATELCCOD, ARow] = 'JJJJJJ') then            //추가청구이거나 준용인 경우에 수정이 가능하게 한다.
                    CanEdit := TRUE
                else
                    CanEdit := FALSE;
            end;

        else
            CanEdit := TRUE;
        end;
    end;

Posted by 비와바람