![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Подскажите мне ПЛЗ как перетаскивать айтемы из одной таблы в другую с удалениями из одной таблы, добавления в другую и т.д
Пасибо! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
А кто такой "табл"?
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Таблица это!
-------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Ничего из компонента TTable нельзя перетащить по определению, так как это не визуальный компонент и не потомок от TControl.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Или имеется ввиду не перетаскивание мышкой, а перенос информации из одной таблицы в другую каких-то записей отвечающих каким-то критериям?
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Не TTable, а StrinGrid или DBGrid
-------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Например на форме находятся 2 таблицы (TTable) с ними связаны 2 компонента TDataSource, c TDataSource связано 2 сетки (TDBGrid). Вот мой код для такскания записей из первого грида во второй:
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Пасибо!
-------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
А если перетаскивать из одной таблы и бросать на TreeView, после чего айтем появится во второй табле?
Я в твоём примере покопался и сделал то же самое и для второй таблы(т.е. перетаскивание из 1 во 2 и из 2 в 1) но тогда в одну из табл приходят пустые ячейки. unit GrugDrup; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, Db, DBTables; type TForm1 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; Table1: TTable; Table2: TTable; DataSource2: TDataSource; DBGrid2: TDBGrid; procedure DBGrid2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure DBGrid2DragDrop(Sender, Source: TObject; X, Y: Integer); procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure DBGrid1DragDrop(Sender, Source: TObject; X, Y: Integer); procedure DBGrid1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure DBGrid2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.DBGrid2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin accept:=Source is TDBGrid; end; procedure TForm1.DBGrid2DragDrop(Sender, Source: TObject; X, Y: Integer); var SourceTable, TargetTable:TTable; i:integer; begin if Source is TDBGrid then begin TargetTable:=(sender as TDBGrid).DataSource.DataSet as TTable; SourceTable:=(Source as TDBGrid).DataSource.DataSet as TTable; TargetTable.append; For i:=0 to SourceTable.Fields.count-1 do TargetTable.fields[i].assign(SourceTable.fields[i]); TargetTable.post; end; end; procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then DBGrid1.BeginDrag(True, 10); end; procedure TForm1.DBGrid1DragDrop(Sender, Source: TObject; X, Y: Integer); var SourceTable, TargetTable:TTable; i:integer; begin if Source is TDBGrid then begin TargetTable:=(sender as TDBGrid).DataSource.DataSet as TTable; SourceTable:=(Source as TDBGrid).DataSource.DataSet as TTable; TargetTable.append; For i:=0 to SourceTable.Fields.count-1 do TargetTable.fields[i].assign(SourceTable.fields[i]); TargetTable.post; end; end; procedure TForm1.DBGrid1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin accept:=Source is TDBGrid; end; procedure TForm1.DBGrid2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then DBGrid1.BeginDrag(True, 10); end; end. -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Слушай, я не знаю, у тебя в обработчике
DBGridxDragDrop(Sender, Source: TObject; X, Y: Integer); Sender - объект на который что-то перетаскивают Source - объект из которого что-то перетаскивают А сделать конкретную обработку действий с объектами это уже дело техники. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |