Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Проблема с DBGrid   Найти похожие ветки 

 
Bazzilio   (2003-01-30 07:21) [0]

Помогите пожалуйста, проект горит!
Нужно чтобы у пользователя была возможность делать drag&drop записей в пределах одной таблицы. Пробовал простые вставка/удаление, работает, но очень коряво. Может есть у кого опыт в этой области? Может не стоит использовать dbgrid?


 
ЮЮ ©   (2003-01-30 08:32) [1]

А что такое drag&drop в пределах одной таблицы? Может вместо вставка/удаление делать update записи? :-)


 
dimis   (2003-01-30 08:51) [2]

стандартный DBGRid не позволяет делать D&D
я писал наследника
переопределял метод
procedure TMyRXDBGrid.MouseDown(Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Assigned(FOnMouseDown) then
FOnMouseDown(Self, Button, Shift, X, Y);
inherited MouseDown(Button, Shift, X, Y);
end;
а дальше можно применять события
OnDragDrop
OnDragOver


 
dimis   (2003-01-30 08:54) [3]

подумал и решил что лучше привести полный код компонента

unit MyRXDBGrid;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids,RXDBCtrl;

type
TMyRXDBGrid = class(TRXDBGrid)
private
{ Private declarations }
FOnMouseDown: TMouseEvent;
protected
{ Protected declarations }
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
published
{ Published declarations }
property Row;
property OnMouseDown read FOnMouseDown write FOnMouseDown;
end;

procedure Register;

implementation

procedure TMyRXDBGrid.MouseDown(Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Assigned(FOnMouseDown) then
FOnMouseDown(Self, Button, Shift, X, Y);
inherited MouseDown(Button, Shift, X, Y);
end;

procedure Register;
begin
RegisterComponents("Samples", [TMyRXDBGrid]);
end;

end.


сделано на основе RXDBGrid, но можно и обычный DBGrid


 
Mike Kouzmine   (2003-01-30 10:20) [4]

стандартный DBGRid не позволяет делать D&D?


 
BlackTiger   (2003-01-30 10:27) [5]

Конечно нет! А смысл?



Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
14-53280
zedov
2003-02-01 20:18
2003.02.17
как сделать dll в виде массива кодов символов?


1-52931
bios
2003-02-08 01:38
2003.02.17
getdir


14-53221
Axis_of_Evil
2003-01-31 11:52
2003.02.17
Бывают ли встречи Мастаков в Москве (Области)?


6-53161
a-leksey
2002-12-25 17:19
2003.02.17
Делаю Proxy для HTTP, но после нескольких соединений коннект ...


3-52734
BlackTiger
2003-01-28 14:12
2003.02.17
Как очистить от колонок cxGrid (DevExpress)?