Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
DBGrid안에 dbcheckbox넣는 방법좀 갈켜주세요....
제목 그대로 입니다..
급합니다... 추석데 쉴려면, 오늘 해결해야할 문제중 하나입니다..
도와주십시요..
1
COMMENTS
김환수
•
2000.09.09 21:12
Re: DBGrid안에 dbcheckbox넣는 방법좀 갈켜주세요....
왕왕왕 초보가 도움이 될때도 있네요
삼각형 출판사의 Inside secrets Delphi 5의 제3부 제10장 p571~574까지에 자세히 나와있네요
소스는 아래와 같고요
혹은 http://www.sybex.com 에서 catalog선택, 2565 입력 후
Mastering Delphi 5가 나오면 순서대로 해서 sourcecode.exe를 다운 받으면
앞서 얘긴한 Part3 - 10 - CheckDbg 안에 예가 있습니다.
( 직접: http://www.sybex.com/cgi-bin/rd_sup_temp.pl?2565sup.html )
//////소스
unit CheckF;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, ComCtrls;
type
TDbaForm = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
Table1LastName: TStringField;
Table1FirstName: TStringField;
Table1Department: TSmallintField;
Table1Branch: TStringField;
Table1Senior: TBooleanField;
Table1HireDate: TDateField;
DBGrid1: TDBGrid;
DBCheckBox1: TDBCheckBox;
procedure FormCreate(Sender: TObject);
procedure Table1DepartmentGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure Table1DepartmentSetText(Sender: TField; const Text: String);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
end;
var
DbaForm: TDbaForm;
implementation
{$R *.DFM}
procedure TDbaForm.FormCreate(Sender: TObject);
begin
if not Table1.Exists then
begin
Table1.CreateTable;
ShowMessage ('You can add data to this table'#13 +
'by using the DbAware example of Chapter 9');
end;
Table1.Open;
end;
procedure TDbaForm.Table1DepartmentGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
case Sender.AsInteger of
1: Text := 'Sales';
2: Text := 'Accounting';
3: Text := 'Production';
4: Text := 'Management';
else
Text := '[Error]';
end;
end;
procedure TDbaForm.Table1DepartmentSetText(Sender: TField;
const Text: String);
begin
if Text = 'Sales' then
Sender.Value := 1
else if Text = 'Accounting' then
Sender.Value := 2
else if Text = 'Production' then
Sender.Value := 3
else if Text = 'Management' then
Sender.Value := 4
else
raise Exception.Create ('Error in Department field conversion');
end;
procedure TDbaForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (gdFocused in State) and
(Column.Field = Table1Senior) then
begin
DBCheckBox1.SetBounds (
Rect.Left + DBGrid1.Left + 1,
Rect.Top + DBGrid1.Top + 1,
Rect.Right - Rect.Left,
Rect.Bottom - Rect.Top);
end;
end;
procedure TDbaForm.DBGrid1ColEnter(Sender: TObject);
begin
if DBGrid1.Columns [DBGrid1.SelectedIndex].
Field = Table1Senior then
DBCheckBox1.Visible := True
else
DBCheckBox1.Visible := False;
end;
procedure TDbaForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if DBCheckBox1.Visible and (Ord (Key) > 31) then
begin
Key := #0;
Table1.Edit;
DBCheckBox1.Checked := not
DBCheckBox1.Checked;
DBCheckBox1.Field.AsBoolean :=
DBCheckBox1.Checked;
end;
end;
end.
그럼........왕왕왕 초보가 도움이 되었기를
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
진성열
•
2000.09.09 22:25
1
COMMENTS
/
0
LIKES
네트워크 프로그래밍???
이진우
•
2000.09.10 01:47
진성열 wrote: > 안녕하십니까? > 전 델을 시작한지 얼마안되는 초보 프로그래머입니다. 음 제가 기본적...
김종석
2000.09.09 22:00
0
COMMENTS
/
0
LIKES
메일받는프로그램에서요..카드나 베너광고가 있는 htm파일을 읽기위해서는
김환수
2000.09.09 21:52
0
COMMENTS
/
0
LIKES
disable된 버튼의 handle을 구할 수 없을까요?
왕초보
•
2000.09.09 21:48
1
COMMENTS
/
0
LIKES
gif 이미지 저장과 불러오기는 어떻게??
김환수
•
2000.09.09 22:03
왕초보 wrote: > 보통 이미지 저장 팁을 찾아보면 bmp, jpg는 있는데 gif는 없습니다. > gif도 jpg랑 똑...
coolling
•
2000.09.09 20:01
1
COMMENTS
/
0
LIKES
DBGrid안에 dbcheckbox넣는 방법좀 갈켜주세요....
제목 그대로 입니다.. 급합니다... 추석데 쉴려면, 오늘 해결해야할 문제중 하나입니다.. 도와주십시요..
김환수
•
2000.09.09 21:12
Re: DBGrid안에 dbcheckbox넣는 방법좀 갈켜주세요.... 왕왕왕 초보가 도움이 될때도 있네요 삼각형 ...
이태성
2000.09.09 19:26
0
COMMENTS
/
0
LIKES
레코드형 파일을 엑셀로 저장하는 방법
초보
2000.09.09 19:12
0
COMMENTS
/
0
LIKES
capability not supported......에러...
전호영
•
2000.09.09 19:07
1
COMMENTS
/
0
LIKES
시간을 24시간제로 하고싶은데요...
나그네
•
2000.09.09 20:50
전호영 wrote: > 시간을 24시간제로해서 넘기고싶은데요... > timetostr(time) 라고하니 '10:10:10 오후'...
김경민
•
2000.09.09 18:20
1
COMMENTS
/
0
LIKES
Midas 에 관하여...
이제관
•
2001.04.12 01:08
김경민 wrote: > ActiveX 폼으로 원격어플리케이션 프로그램을 만들었는데, 잘 되다가 > > 뭔가를 삭...
유레드
•
2000.09.09 17:14
1
COMMENTS
/
0
LIKES
게임화면같이 풀화면으로 할려면 어떻게
이경문
•
2000.09.10 07:11
DirectX의 DirectDraw를 사용하시면 됩니다. DelphiX라고 델파이에서 DirectX를 사용할 수 있도록 컴포넌...
정진아
•
2000.09.09 14:31
1
COMMENTS
/
0
LIKES
dbcombobox 사용법좀...
김환수
•
2000.09.09 21:44
정진아 wrote: > 움.. 다른 폼에.. 있는 table의 thing 필드를 dbcombobox에.. 모든 리스트를 나열하여 >...
박원호
2000.09.09 12:19
0
COMMENTS
/
0
LIKES
stringgrid의 cell에 직접 쓰기....
신현민
•
2000.09.09 08:42
2
COMMENTS
/
0
LIKES
네트워크로 볼륨제어 가능한지.
tobject
•
2000.09.15 06:50
패킷을 만들어서 가능합니다. 서버쪽이든 클라이언트든 상관없이 현재 볼륨을 50%라 가정하구 그값을 올릴...
신현민
•
2000.09.16 09:25
tobject wrote: > 패킷을 만들어서 가능합니다. > 서버쪽이든 클라이언트든 상관없이 현재 볼륨을 50%라 ...
봉길천
•
2000.09.09 08:09
1
COMMENTS
/
0
LIKES
디렉토리 및 파일복사 관련하여
최용일
•
2000.09.09 08:39
안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다. FindFirst/FindNext/Fi...
red
•
2000.09.09 07:56
1
COMMENTS
/
0
LIKES
; <- 이게 뭐죠?
노을
•
2000.09.09 10:13
안녕하세요 노 을 입니다. 음 c언어도 ';'를 쓰죠?.. 간단히 말하면 ';'는 '문장의 종결'을 의미...
종상이
•
2000.09.09 08:21
1
COMMENTS
/
0
LIKES
레코드 파일에서 입력과 삭제문제..
최용일
•
2000.09.09 08:33
안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다. TRecordStream.WriteRe...
김옥란
•
2000.09.09 07:02
1
COMMENTS
/
0
LIKES
DB그리드에서 한 레코드를 클릭했을때 그 레코드의 하나의 필드값추출
friggacho
•
2000.09.09 08:01
김옥란 wrote: > DB그리드에서 한 레코드를 클릭하면 그 레코드중에서 하나의 필드값을 읽어들여서 > 쿼...
박정모
2000.09.09 06:04
0
COMMENTS
/
0
LIKES
메모리 엑서스 문제-프로그램에 주어진 영역 밖을 참조
델초보
2000.09.09 05:36
0
COMMENTS
/
0
LIKES
에딧박스에서 글짜 가운데로(세로 기준입니다)...
김종석
•
2000.09.09 04:28
1
COMMENTS
/
0
LIKES
try...except....end 구문이 모하는 넘이이요?
carles
•
2000.09.09 07:28
그 그문은 예외 처리 구문입니다... 쉽게 말하면 예외가 발생할수 있는 상황에 대비하는 거지요... 가령 ...
coolling
2000/09/09 20:01
Views
526
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
왕왕왕 초보가 도움이 될때도 있네요
삼각형 출판사의 Inside secrets Delphi 5의 제3부 제10장 p571~574까지에 자세히 나와있네요
소스는 아래와 같고요
혹은 http://www.sybex.com 에서 catalog선택, 2565 입력 후
Mastering Delphi 5가 나오면 순서대로 해서 sourcecode.exe를 다운 받으면
앞서 얘긴한 Part3 - 10 - CheckDbg 안에 예가 있습니다.
( 직접: http://www.sybex.com/cgi-bin/rd_sup_temp.pl?2565sup.html )
//////소스
unit CheckF;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, ComCtrls;
type
TDbaForm = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
Table1LastName: TStringField;
Table1FirstName: TStringField;
Table1Department: TSmallintField;
Table1Branch: TStringField;
Table1Senior: TBooleanField;
Table1HireDate: TDateField;
DBGrid1: TDBGrid;
DBCheckBox1: TDBCheckBox;
procedure FormCreate(Sender: TObject);
procedure Table1DepartmentGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure Table1DepartmentSetText(Sender: TField; const Text: String);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
end;
var
DbaForm: TDbaForm;
implementation
{$R *.DFM}
procedure TDbaForm.FormCreate(Sender: TObject);
begin
if not Table1.Exists then
begin
Table1.CreateTable;
ShowMessage ('You can add data to this table'#13 +
'by using the DbAware example of Chapter 9');
end;
Table1.Open;
end;
procedure TDbaForm.Table1DepartmentGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
case Sender.AsInteger of
1: Text := 'Sales';
2: Text := 'Accounting';
3: Text := 'Production';
4: Text := 'Management';
else
Text := '[Error]';
end;
end;
procedure TDbaForm.Table1DepartmentSetText(Sender: TField;
const Text: String);
begin
if Text = 'Sales' then
Sender.Value := 1
else if Text = 'Accounting' then
Sender.Value := 2
else if Text = 'Production' then
Sender.Value := 3
else if Text = 'Management' then
Sender.Value := 4
else
raise Exception.Create ('Error in Department field conversion');
end;
procedure TDbaForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (gdFocused in State) and
(Column.Field = Table1Senior) then
begin
DBCheckBox1.SetBounds (
Rect.Left + DBGrid1.Left + 1,
Rect.Top + DBGrid1.Top + 1,
Rect.Right - Rect.Left,
Rect.Bottom - Rect.Top);
end;
end;
procedure TDbaForm.DBGrid1ColEnter(Sender: TObject);
begin
if DBGrid1.Columns [DBGrid1.SelectedIndex].
Field = Table1Senior then
DBCheckBox1.Visible := True
else
DBCheckBox1.Visible := False;
end;
procedure TDbaForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if DBCheckBox1.Visible and (Ord (Key) > 31) then
begin
Key := #0;
Table1.Edit;
DBCheckBox1.Checked := not
DBCheckBox1.Checked;
DBCheckBox1.Field.AsBoolean :=
DBCheckBox1.Checked;
end;
end;
end.
그럼........왕왕왕 초보가 도움이 되었기를