Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Выделение и копирование групп записей


Автор: SuperLamer 18.4.2006, 21:05
Уважаемые участники форума! Помогите, пожалуйста!
Общее: БД: на Delphi 7.
Можно как-нибудь сделать, чтобы в ДБГриде можно было выделять сразу по нескольку записей в столбце и КОПИРОВАТЬ их в другие столбцы ДБГрида?

Знаю про свойства: DB.Grid.Options (dgEditing, …)! Но там ничего нет такого!

Заранее спасибо за ответ!
  

Автор: Fast 19.4.2006, 02:00
Загляни в Object Inspector.
Потом нажимай на плюсик Option.
Ищи строку dgMultiSelect и выстави её в true.
 smile  

Автор: SuperLamer 19.4.2006, 09:17
Fast - спасибо за ответ!
Цитата

Ищи строку dgMultiSelect и выстави её в true.


Не знаю,может я чего не так делаю, но в dgMultiSelect - действительно выделяется группа записей, НО они не копируются так же группой! 

Автор: Tror 19.4.2006, 11:33
Цитата(VCL Reference)

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i, j: Integer;
  s: string;
begin
  if DBGrid1.SelectedRows.Count>0 then
    with DBGrid1.DataSource.DataSet do
      for i:=0 to DBGrid1.SelectedRows.Count-1 do
      begin
        GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
        for j := 0 to FieldCount-1 do
        begin

          if (j>0) then s:=s+', ';
          s:=s+Fields[j].AsString;
        end;
        Listbox1.Items.Add(s);
        s:= '';
      end;
end;



данны пример копирует все выделенные строки дбгрида в листбокс.
переделать так, чтоб копировалось в другой дбгрид думаю труда не составит

Удачи ;)


  

Автор: SuperLamer 19.4.2006, 15:58
Tror- большое спасибо за ответ!
Действительно данная процедура выполняет копирование в Listbox. Но как теперь сделать копирование обратно!

Вероятно также существует процедура? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)