좀 제목이 이상할지 모르겠네여...
저가 지금 Grid로 값을 불러 온곳에서 한 칼럼내용의 숫자값이 1이면 -> 시작
2이면 -> 개시 등으로 변경을 하려고 합니다...
좀 살펴봐도 모르는 문제점 2가지가 있어서 질문을 드립니다.
1. 컬럼의 첫줄에만 접근 가능 하더군여.. 그 다음줄은 컨트롤을 어떻게 하는 것입니까?
저가 접근 한 방법은 Dbgrid.Fields[Integer].Text 였습니다. 이러니 첫줄만
접근 가능 하더군여..
2. 이것을 변경을 해보려고 하니.. Query해온 상태가 edit or inser 모드가 아니라는
에러 메시지만 나타 납니다. 물론 Query문을 Edit mode 로 해도 안돼는건 마찬
가지고엽.
이러한 작업을 새로운 DB 목록 추가 안시키고 FormShow 시에 샤악 바꿀수 있는 방법좀
알려 주시면 감사하겠습니다.
> 좀 제목이 이상할지 모르겠네여...
>
> 저가 지금 Grid로 값을 불러 온곳에서 한 칼럼내용의 숫자값이 1이면 -> 시작
> 2이면 -> 개시 등으로 변경을 하려고 합니다...
>
> 좀 살펴봐도 모르는 문제점 2가지가 있어서 질문을 드립니다.
>
> 1. 컬럼의 첫줄에만 접근 가능 하더군여.. 그 다음줄은 컨트롤을 어떻게 하는 것입니까?
> 저가 접근 한 방법은 Dbgrid.Fields[Integer].Text 였습니다. 이러니 첫줄만
> 접근 가능 하더군여..
>
> 2. 이것을 변경을 해보려고 하니.. Query해온 상태가 edit or inser 모드가 아니라는
> 에러 메시지만 나타 납니다. 물론 Query문을 Edit mode 로 해도 안돼는건 마찬
> 가지고엽.
>
> 이러한 작업을 새로운 DB 목록 추가 안시키고 FormShow 시에 샤악 바꿀수 있는 방법좀
> 알려 주시면 감사하겠습니다.
>
안녕하세요. 까마귀입니다.
그건 DBGrid에서 만지기 보다는 Query나 Table 콤포넌트에서 건드리는게 편할겁니다.
주로 TQuery 콤포넌트를 많이 쓰니까 이걸로 설명을 할게요. TTable도 똑 같아요.
먼저 위처럼 구현을 하려면 Field는 수동 생성이 되어야 합니다.
TQuery를 Double-Click하면 Field Editor창이 뜨잖아요.
거기서 오른 클릭후 Add All Fields를 선택하면 모든 Field목록이 나옵니다.
그러면 이게 수동생성이 된겁니다.
그렇게 Field를 추가를 한 후 원하는 Field를 선택하고, Object Inspector의 Events를
선택하세요.
거기서 OnGetText라는 Event를 선택하세요. 그리고, 코딩.
예)
procedure TDM_CC.QUE_AttrFAscentGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
try
if Sender.AsInteger = 0 then Text := '출근'
else if Sender.AsInteger = 1 then Text := '결근'
else Text := '입력오류';
except
Text := '';
end;
end;
---- TDM_CC : DataModule.
---- QUE_Attr : TQuery.
---- FAscent : TField.
위처럼 하시면 원하시는 결과를 얻을수가 있습니다.
위대한 단군혼이 살아있는 나라.... 대한민국.