Q&A

  • DBGRID의 내용을 그래프로...
DBGrid의 내용을 그래프로 보여줄수 있는 방법을

아시는 분 부탁드립니다.

1  COMMENTS
  • Profile
    조규춘 2000.05.03 01:24
    정형모 wrote:

    > DBGrid의 내용을 그래프로 보여줄수 있는 방법을

    > 아시는 분 부탁드립니다.



    질문을 보니깐 이것이 답변일지 모르겠는데...

    DB의 내용을 그래프로 보여줄라믄...

    DBCHART 컴포넌트를 이용하면 되잖아요!



    아님 그리드에 cell에 챠트를 넣으실라고 그러시는 겁니까?

    그런거라믄....



    전에 답변한 내용중에 일부분인데. 이것을 이용하시구요!

    제가 넣을 내용은 dbgrid에 그림을 넣기 있니다. 물론 원하는 필드에....

    초보도 따라 할수 있게 설명을 자세하게 적어 보겠습니다.



    우선 DB를 연결할수 있게 datasource 와 table 컴포넌트를 넣야 겠지요?

    각 컴포넌트의 속성을 다음과 같이 해 주십시요



    datasource 컴포넌트

    속성 값

    name datasource2 // datasource1은 다른거 연습하느라고 히~!

    dataset table2 // 위랑 마찬가지 히~!



    table 컴포넌트

    속성 값

    name table2 // 위랑 마찬가지 히히~!

    databasename DBDEMOS // 어짜피 연습이니까 원래 있는거 가져온거..

    tablename biolife.db // 마찬가지 히히히~!

    active true // formcreate 에 적어주기 실어서 버리.죄송

    그러고 table컴포넌트에서 오른쪽 버튼을 누르면 fields editor 가 나오는디

    거기서 마우스 오른쪽버튼 add all fields ctrl+F 를 눌러서 등록을 합니다.



    DBgrid 컴포넌트

    속성 값

    name dbgrid2 // dbgrid1 은 다른거 연습하느라고 히~!

    defaultdrawing false // 드로잉 동작을 완전하게 사용자 정의할려고...

    datasource datasource2



    자 이게 컴포넌트에 대한 준비는 끝나고 본격적인 코딩에 들어갑시다.

    grid 컴포넌트 이벤트중에서 OnDrawColumncell 이라는 이벤트가 있는데

    다음과 같이 코딩하십시요



    procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;

    DataCol: Integer; Column: TColumn; State: TGridDrawState);

    var

    bmp : Tbitmap;

    outrect : Trect;

    bmpwidth : integer;

    begin

    // 디폴트 출력

    outrect := rect;



    // 여기서 그림이 들어가기 원하는 필드를 선택합니다.

    // table2category는 아까데 필드에디터에서 선언한것을 얘기하는건디...

    // 테이블이름과 필드이름을 붙여넣은 것입니다. 그러니 다른필드에 그림을

    // 넣을려면 예를 들어 table2common_name 이런식으로 적어주면 되지요!

    if Column.Field = Table2category then

    begin

    // 이미지 그리기

    bmp := Tbitmap.Create;

    try

    bmp.Assign(Table2graphic); //위에서 얘기 한데로 그림이 있는 필드선정

    bmpWidth := (rect.Bottom - Rect.Top) * 2;

    Outrect.Right := Rect.Left + bmpwidth;

    DBgrid2.Canvas.StretchDraw(Outrect, bmp);

    finally

    bmp.free;

    end;

    //직사각형을 지우고 그래픽이 들어갈 자리를 남겨둔다.;

    outrect := rect;

    outrect.Left := outrect.left + bmpwidth;

    end;



    // 디폴트 드로잉

    DBGrid2.DefaultDrawDataCell(outrect,column.field,state);

    end;



    조규춘 올림.



    • 이정욱
      2000.05.03 01:55
      Application.ShowMainForm := False; 흐.. 생각보다는 모르시는 분들이 많은 팁입니다~ 초심자 ...
    • 박용
    • 2000.05.03 01:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 정병근
      2000.05.03 01:57
      박용 wrote: > > 안녕하세요. > 델파이를 공부하는 학생입니다.(왕초보) > Q&A에서 아무리 ...
    • nilriri
      2000.05.03 01:56
      var qry_sum : TQuery; begin qry_sum := TQuery.create(nil); with qry_sum do begin D...
    • 준희
    • 2000.05.03 01:20
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.03 02:49
      안녕하세요. 최용일입니다. ShowModal로 띄운 폼의 Ok버트을 눌렸는데 종료가 된다는 말씀이죠. 아마도 ...
    • 준희
      2000.05.03 05:02
      안녕하십니까. 이문제는 해결되었습니다. Project Option에서 Call 되는 Form을 Availible...에 넣...
    • zoro
      2000.05.03 01:43
      안녕하셔요 괜히 하수가 답변하게 되어 고수님의 자세한 답변을 못들을 것 같아 죄송합니다... 어찌
    • 조규춘
      2000.05.03 01:50
      준희 wrote: > 안녕하세요 > 델코초보인데요.. > > DB에 Insert/Edit하는 Form을 만들려고 하는데 문...
    • 김태균
      2000.05.03 01:36
      Try ... finally 대신에 Try ... except 문을 쓰세요.
    • 정수현
    • 2000.05.03 00:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김일영
      2000.05.03 01:45
      올려주신 내용만으로는 SQL문 어디에도 buy_code라는 필드를 select해 오지 않는군요. 그러므로 비교를 할...
    • 조규춘
      2000.05.03 01:18
      델초보 wrote: > 패널 콤포넌트에다가 색깔을 파랑으로 지정하고 > 그 위에다가 스피드 버튼을 놓으니 ...
    • 황원석
    • 2000.05.03 00:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김태균
      2000.05.03 01:34
      음... SQL Server에서도 한글은 2바이트로 인식합니다. 황원석 wrote: > sql 서버에서 한글을 1자리로...
    • 델_맹
    • 2000.05.03 00:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 윤석천
      2000.05.03 02:42
      델_맹 wrote: > > 안녕하세요, 여러분들 또 질문을 올립니다. > > *인터베이스로 데이터베이스를 연...
    • 델_맹
      2000.05.03 07:45
      윤석천 wrote: > 델_맹 wrote: > > > > 안녕하세요, 여러분들 또 질문을 올립니다. > > > > *인터...
    • 정형모
    • 2000.05.02 23:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.05.03 01:24
      정형모 wrote: > DBGrid의 내용을 그래프로 보여줄수 있는 방법을 > 아시는 분 부탁드립니다. 질문을...
    • 각시탈
    • 2000.05.02 23:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.05.03 01:42
      각시탈 wrote: > 안녕하십니까.. > 프로젝트를 진행하다 > ..한군데 막히는 부분이 생겨서 > 이렇게 글...
    • KJB
    • 2000.05.02 23:33
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 하늘맥
    • 2000.05.02 23:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 델피언
      2000.05.03 00:14
      하늘맥 wrote: > 별다른것은 아니고 다음과 같은 sql 이 있슴다.. > > select a.fileno,a.qty,b.colorn...
    • 2000.05.02 23:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • zoro
      2000.05.03 01:17
      //이렇게 동적으로 생성하면 되고요~~ procedure TForm1.FormCreate(Sender: TObject); begin TabCont...
    • 최용일
      2000.05.03 01:11
      안녕하세요. 최용일입니다. // 탭 추가 TabControl1.Tabs.Add('탭이름'); // 지정된 위치에 탭 추...
    • 2000.05.04 03:30
      최용일 wrote: > 안녕하세요. 최용일입니다. > > // 탭 추가 > TabControl1.Tabs.Add('탭이름'); >...
    • Macgyver
    • 2000.05.02 23:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 공성환
      2000.05.03 02:38
      Macgyver wrote: > 카데시안 Join이 뭐예요? > Sql Server에도 적용되나여? > 알고싶어요 답변이 될...
    • zoro
    • 2000.05.02 22:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김명술
    • 2000.05.02 21:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • HART
      2000.05.03 01:13
      일단 퀵리포트로 출력이 가능합니다. 단 추가 소스를 작성해야합니다. 방법은 아래 소스와 같음.. p...
    • 최은창
      2000.05.02 22:04
      절사가 버림을 뜻하는 거지요? procedure TForm1.Button1Click(Sender: TObject); var f: real; b...
    • 강민주
      2000.05.02 21:45
      박설화 wrote: > label에서 계산된 값이 실수값인데 그 값을 (10원 미만 절사)를 해야 합니다. > 어떻게 ...
    • 하늘맥
    • 2000.05.02 20:57
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박종일
      2000.05.02 21:50
      하늘맥 wrote: > SELECT A.FILENO, B.ITEM, A.DESIGN,B.UNIT,A.COLORNO,A.GSUSER, C.USNAME, D.COLORNAME,...
    • 박종일
      2000.05.02 21:50
      하늘맥 wrote: > SELECT A.FILENO, B.ITEM, A.DESIGN,B.UNIT,A.COLORNO,A.GSUSER, C.USNAME, D.COLORNAME,...
    • 하늘맥
      2000.05.02 23:23
      답변고맙습니다.. a 와 b 두군데다 null 값이 있으면 어떡하죠.. 박종일 wrote: > null 값의 che...