بازگشت   تالارهای گفتگوی چارنبش > علوم و تکنولوژي > IT و کامپيوتر > برنامه نویسی

برنامه نویسی سوالات و مطالب خود را در زمینه برنامه نویسی در اینجا مطرح کنید




  اطلاعات و اعلانات
 
میهمان عزیز خوش آمدید
جهت ثبت نام و استفاده از امکانات سایت ما اینجا کلیک کنید
تالارهای گفتگوی چارنبش، بزرگترین بانک نرم افزار ایران، دارای 600 گیگابایت کتاب و نرم افزارهای رایانه و موبایل جدید میباشد
آخرین به روز رسانی بانک نرم افزار در تاریخ 1 فروردین 88 انجام شد
جهت استفاده از بانک نرم افزار ابتدا در سایت ثبت نام کرده و جهت مشاهده سایر جزئیات اینجا کلیک کنید
 

پاسخ
 
ابزارهای موضوع نحوه نمایش

CheckBox در DBGrid
قدیمی ۲۱ اردیبهشت ۱۳۸۸, ۲۱:۲۰   #1
Delphi_Baz
تازه وارد

 
Delphi_Baz آنلاین نیست.
امتياز دانلود : 1201.00
تاریخ عضویت: اردیبهشت ۱۳۸۸
ارسالها: 5
 تشکرها: 0
 تشکر شده 2 بار در 2 ارسال
پیش فرض CheckBox در DBGrid

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids;

type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Table1: TTable;
DataSource1: TDataSource;
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DBGrid1ColExit(Sender: TObject);
private

FOriginalOptions : TDBGridOptions; { Private declarations }
public
procedure SaveBoolean;
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SaveBoolean;
begin
Self.DBGrid1.SelectedField.Dataset.Edit;
Self.DBGrid1.SelectedField.AsBoolean := not Self.DBGrid1.SelectedField.AsBoolean;
Self.DBGrid1.SelectedField.Dataset.Post;
end;

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if Self.DBGrid1.SelectedField.DataType = ftBoolean then
SaveBoolean();
end;

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Const
CtrlState : array[Boolean] of Integer = (DFCS_BUTTONCHECK,
DFCS_BUTTONCHECK or DFCS_CHECKED);
var
CheckBoxRectangle : TRect;
begin
if Column.Field.DataType = ftBoolean then
begin
Self.DBGrid1.Canvas.FillRect(Rect);
CheckBoxRectangle.Left := Rect.Left + 2;
CheckBoxRectangle.Right := Rect.Right - 2;
CheckBoxRectangle.Top := Rect.Top + 2;
CheckBoxRectangle.Bottom := Rect.Bottom - 2;
DrawFrameControl(Self.DBGrid1.Canvas.Handle,
CheckBoxRectangle,
DFC_BUTTON,
CtrlState[Column.Field.AsBoolean]);
end;
end;
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
if Self.DBGrid1.SelectedField.DataType = ftBoolean then
begin
Self.FOriginalOptions := Self.DBGrid1.Options;
Self.DBGrid1.Options := Self.DBGrid1.Options - [dgEditing];
end;
end;

procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
if Self.DBGrid1.SelectedField.DataType = ftBoolean then
Self.DBGrid1.Options := Self.FOriginalOptions;
end;

end.

اين هم مال فرم

object Form1: TForm1
Left = 192
Top = 114
Width = 953
Height = 778
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBGrid1: TDBGrid
Left = 0
Top = 0
Width = 945
Height = 744
Align = alClient
DataSource = DataSource1
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
OnCellClick = DBGrid1CellClick
OnColEnter = DBGrid1ColEnter
OnColExit = DBGrid1ColExit
OnDrawColumnCell = DBGrid1DrawColumnCell
end
object Table1: TTable
Active = True
DatabaseName = 'DBDEMOS'
TableName = 'reservat.db'
Left = 128
Top = 88
end
object DataSource1: TDataSource
DataSet = Table1
Left = 176
Top = 80
end
end
  پاسخ با نقل قول

قدیمی ۲۸ خرداد ۱۳۸۹, ۲۲:۳۹   #2
serojjamali
آشنا

 
serojjamali آنلاین نیست.
امتياز دانلود : 1200.00
تاریخ عضویت: اسفند ۱۳۸۸
ارسالها: 25
 تشکرها: 4
 تشکر شده 5 بار در 5 ارسال
پیش فرض

وقت کردی یه سری به ما بزن

http://serojjamali.wordpress.com/
  پاسخ با نقل قول
پاسخ

ابزارهای موضوع
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code هست فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است

انتخاب سریع یک انجمن



اکنون ساعت ۱۶:۰۵ برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.