Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Query - выбранные строки 
:(
    Опции темы
VTK
Дата 1.11.2006, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



Доброго времени суток.
Есть такая ситуация: Query+DBGridEh. Свойство DBGridEh.Multiselect=true...
Как сохранить в таблицу выбранные строки?
PM MAIL ICQ   Вверх
Akella
Дата 2.11.2006, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Код

uses ..., DBGridEhImpExp, ...;

...
procedure TfmMain.SaveDBGridEhToExportFile(ExportClass: TDBGridEhExportClass;
  DBGridEh: TCustomDBGridEh; const FileName: String; IsSaveAll: Boolean);
var DBGridEhExport: TDBGridEhExport;
begin
  DBGridEhExport := ExportClass.Create;
  try
    DBGridEhExport.DBGridEh := DBGridEh;
    DBGridEhExport.ExportToFile(FileName, IsSaveAll);
  finally
    DBGridEhExport.Free;
  end;
end;


procedure TfmMain.SaveSelectionAs(Grid:TDBGridEh);
var ExpClass:TDBGridEhExportClass;
    Ext:String;
    SaveDialog1:TSaveDialog;
begin
  if not canExportData(True) then exit;

  begin
    SaveDialog1 := TSaveDialog.Create(self);
    SaveDialog1.Filter := 'Текстовый файл(*.txt)|*.txt|Файл с разделителями(*.csv)|*.csv|Веб-страница(*.htm)|*.htm|Rich Text Format(*.rtf)|*.rtf|MS Excel(*.xls)|*.xls';
    SaveDialog1.FileName := 'Export';

    if SaveDialog1.Execute then
    begin

      case SaveDialog1.FilterIndex of
        1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
        2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
        3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
        4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
        5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
      else
        ExpClass := nil; Ext := '';
      end;
      if ExpClass <> nil then  begin
        if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <> UpperCase(Ext) then
          SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
        SaveDBGridEhToExportFile(ExpClass,Grid, SaveDialog1.FileName,True);
      end;//if ExpClass <> nil then  begin
    end;

    FreeAndNil(SaveDialog1);
  end;
end;


Использование

Код

procedure TfmApartSearch.actExportExecute(Sender: TObject);
begin
  if not (ActiveControl is TDBGridEh) then
  begin
    ShowMessage('Выберите таблицу для экспорта');
    Exit;
  end;

  fmMain.SaveSelectionAs(ActiveControl as TDBGridEh);
end;


Добавлено @ 09:39 
обрати внимание на прследний параметр
Код

  SaveDBGridEhToExportFile(ExpClass,Grid, SaveDialog1.FileName,True);


Перед процедурой определяешь, как и что у тебя выбрано и передаёшь True или False

Добавлено @ 09:41 
а можешь без всяких проверок просто False передавать. Наверное так лучше будет.

Это сообщение отредактировал(а) Akella - 2.11.2006, 09:33
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0597 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.