델가족 여러분 안녕 하십니까?
도움을 청할까 하고 문의 드립니다.
음... 메모필드를 입력하고 DBGrid로 보면 그냥 'Memo' 라고만 보이잖아요..
메모를 보이게 할려고 하는데 Q/A에서 조회해서 보니 한건이 있는데...
그 질문을 한 님도 에러라고... 저역시 에러..
아래는 소스인데요...
Type
MainMenu1: TMainMenu;
const
Max_Charsize = 50;
procedure TFm106.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
var P : array [0..Max_charsize] of char;
BS : TBlobStream;
S : string;
begin
if field is TMemoField then begin
with (sender as TDBgrid).canvas do begin
Bs:= TBlobStream.create(SQL106Notes, bmReab);
Fillchar(P,Sizeof(P),#0);
Bs.read(P,MAX_CHARSIZE);
BS.Free;
s := strpas(P);
while Pos(#13,s)> 0 do
s[Pos(#13,s)] := ' ';
while Pos(#10, S) > 0 do
s[Pos(#10,s)] := ' ';
Fillrect(Rect);
end;
end;
end;
소스는 이런데요 이것이 DBGrid에 메모를 어떻게 나타내나요?
메모가 한줄 일 경우, 2줄 이상일 경우 어떻게 나타내죠?
음 저는 그리드에 데이타가 많을 경우 한줄, 또는 한줄이 길 경우 어느정도
잘라서 나타내고 싶거든요.
여러 고수님들의 아낌없는 성원 바랍니다.
> 델가족 여러분 안녕 하십니까?
> 도움을 청할까 하고 문의 드립니다.
> 음... 메모필드를 입력하고 DBGrid로 보면 그냥 'Memo' 라고만 보이잖아요..
> 메모를 보이게 할려고 하는데 Q/A에서 조회해서 보니 한건이 있는데...
> 그 질문을 한 님도 에러라고... 저역시 에러..
> 아래는 소스인데요...
>
> Type
> MainMenu1: TMainMenu;
>
> const
> Max_Charsize = 50;
>
> procedure TFm106.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
> Field: TField; State: TGridDrawState);
> var P : array [0..Max_charsize] of char;
> BS : TBlobStream;
> S : string;
> begin
> if field is TMemoField then begin
> with (sender as TDBgrid).canvas do begin
> Bs:= TBlobStream.create(SQL106Notes, bmReab);
> Fillchar(P,Sizeof(P),#0);
> Bs.read(P,MAX_CHARSIZE);
> BS.Free;
> s := strpas(P);
> while Pos(#13,s)> 0 do
> s[Pos(#13,s)] := ' ';
> while Pos(#10, S) > 0 do
> s[Pos(#10,s)] := ' ';
> Fillrect(Rect);
> end;
> end;
> end;
>
> 소스는 이런데요 이것이 DBGrid에 메모를 어떻게 나타내나요?
> 메모가 한줄 일 경우, 2줄 이상일 경우 어떻게 나타내죠?
>
> 음 저는 그리드에 데이타가 많을 경우 한줄, 또는 한줄이 길 경우 어느정도
> 잘라서 나타내고 싶거든요.
>
> 여러 고수님들의 아낌없는 성원 바랍니다.
>
실제 그리드의 한 셀이 메모필드이거나 비트맵필드 라면 이를 보여주기 위해 구현할려면 나름대로 해결가능한 님들이야 문제가 없겠지만 대부분 골머리 아프죠 --;;
기본적으로 델파이에서 제공하는 그리드는 하얀도화지라서 직접 구현해야 하는데 저두 실력이 변변치 않아서... --;;
간단한 해결방법은 RealDBGrid 를 구입하세요 ^^;
메모필드랑 비트맵필드를 제공하기때문에 아무런 코딩없이 프라퍼티 하나로 해결!!!
많은 노력을 하시는 뭇 수행자분들에게는 지송함다.