Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[7866] Re:[질문] Memo type를 String으로 전환이 필요!! 급합니다 .도와주세요...
박정모 [] 1372 읽음    2002-01-10 13:26

DBGrid 가 아니고 StringGrid에서 그렇게 표현된다구요? 제가 알기로는
StringGrid는 사용자가 직접 그 내용을 채워 넣기 때문에 문제 없이 표시
되는걸로 알고 있습니다.

StringGrid의 내용을 채워 넣을 때

StringGrid.Cells[ n, m ] := DataSet.FieldByName( 'FieldName' ).AsString;

이런식으로 하지 않나요?

DBGrid라고 하면 예전에 임프님께서 Bcb용으로 작성해논게 있어서 델파이용으로 바꾼
아래의 코드를 참조 하십시요.

---------------------------------------------------------------------------------------------

임프랍니다.

오라클의 VARCHAR2 필드는 빌더나 델파이의 BLOB 필드에 해당합니다.
TDBGrid는 기본적으로 BLOB 필드는 내용을 그대로 표시하지 않고 (MEMO) 라고 표시해줍니다.
(크기가 너무 커서 그렇게 나타나는 것이 아니라 크기와 관계없이 무조건 (MEMO) 라고 표시합니다.)

물론 디비그리드에 메모 필드를 강제로 표시하게 할 수도 있습니다. 다음과 같이 해보세요.
먼저, 쿼리 컴퍼넌트의 OnAfterOpen 이벤트의 핸들러를 다음과 같이 작성하세요.

procedure TForm1.ADOQuery1AfterOpen( DataSet : TDataSet );
var
  i : Integer;
begin
  for i := 0 to DataSet.FieldCount - 1 do
     if DataSet.Fields.FieldName = '원하는 필드명' then
     begin
       DataSet.Fields.OnGetText = BlobFieldGetText;
       break;
     end;
end;

그리고, 다음과 같은 함수를 폼 클래스에 추가합니다.

procedure TForm1.BlobFieldGetText( Sender : TField, Text : String, DisplayText : Boolean )
begin
  Text := Sender.AsString;
end;

이렇게 하면 디비그리드에 메모 필드의 값이 나타나게 될 겁니다.
그럼 이만...

---------------------------------------------------------------------------------------------

park 님이 쓰신 글 :
: String Grid에 테이블을 내용을 가져다 뿌리는데
: 필드길이가 225를 넘으면 필드내용이 나오는게 아니라
: Memo로 나옵니다...
: Memo Type를 String Type 로 전환해서 뿌리고 싶은데
: 고수님들 방법없나여...
:


+ -

관련 글 리스트
7862 [질문] Memo type를 String으로 전환이 필요!! 급합니다 .도와주세요... park 542 2002/01/10
7866     Re:[질문] Memo type를 String으로 전환이 필요!! 급합니다 .도와주세요... 박정모 1372 2002/01/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.