Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Печать DBGrid с множественным выбором [D6, Paradox]


Visnuk ©   (2004-03-17 16:26:00) 

Кто может помочь такой вот вопрос вычитал в книге и нашел полную ссылку на код:
rocedure TForm1.SelectClick(Sender: TObject);
var
x: word;
TempBookMark : TBookMark;
begin
DBGrid1.DataSource.DataSet.DisableControls;
 with  Dbgrid1.SelectedRows do
   if count > 0 then
   begin
    TempBookMark := DBGrid1.DataSource.DataSet.GetBookmark;
    for x:= 0 to Count - 1 do
     begin
       if IndexOf(Items[x]) > -1 then
         begin
           DBGrid1.DataSource.DataSet.Bookmark := Items[x];

         end;
     end;
   end;
   DBGrid1.DataSource.DataSet.GotoBookmark(TempBookMark);
   DBGrid1.DataSource.DataSet.FreeBookmark(TempBookMark);
   DBGrid1.DataSource.DataSet.EnableControls;
end;
Такой вот вопрос мне необходимо распчать выбранные щакладки не могу это произвести.

Кто сталкивался с данной ситуацие помогите


visnuk   (2004-03-24 15:19:00) [1]

> Анализ свойства SelectedRows достаточно для распечатки только выбранных строк

Я не спорю вот только нашел еще один вариант работы с SelectedRows

var
 i: Integer;
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]));

Пишем сдесь что угодно только вот почемуто не получается
Щас розбераться буду


visnuk   (2004-03-24 15:17:00) [2]

> Что-то не заметно попыток по распечатке.
код распечатки такой вот
var
Items: TstringList;
begin
Items := TStringList.Create;
 try
   PixelsInInchX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
   TenthsOfInchPixelsY := GetDeviceCaps(Printer.Handle, LOGPIXELSY) div 10;
   AmountPrinted := 0;
    try
     Printer.BeginDoc;
       Application.ProcessMessages;
       LineHeight := Printer.Canvas.TextHeight('X')+TenthsOfInchPixelsY;
       DataModuleLamp.Sklad.First;
       While (not DataModuleLamp.Sklad.Eof) or Printer.Aborted do
       begin
         Application.ProcessMessages;
         With Items do
           begin

AddObject(DataModuleLamp.Sklad.FieldByName('LampName').AsString, pointer(12));
.....
AddObject(DataModuleLamp.Sklad.FieldByName('Ia4eka').AsString, pointer(10));
           end;
         PrintLine(Items);
         if AmountPrinted + LineHeight > Printer.PageHeight then
           begin
             AmountPrinted := 0;
             if not Printer.Aborted then
               Printer.NewPage;
           end;
        Items.Clear;
       DataModuleLamp.Sklad.Next;
        end;
        if not Printer.Aborted then
         Printer.EndDoc;
       finally
        MainForm.Enabled := True;
        end;
      finally
      Items.Free;
       end;
end;

Код PrintLine ниже
var
 OutRect: TRect;
 Inches: Double;
 i: Integer;
begin
OutRect.Left := 0;
OutRect.Top := AmountPrinted;
OutRect.Bottom := OutRect.Top + LineHeight;
 With  Printer.Canvas do
   for i := 0 to Items.Count - 1 do
    begin
     Inches := Longint(Items.Objects[i]) * 0.1;
     OutRect.Right := OutRect.Left + round(PixelsInInchx*Inches);
     if not Printer.Aborted then
       TextRect(OutRect, OutRect.Left, OutRect.Top, Items[i]);
       OutRect.Left := OutRect.Right;
    end;
AmountPrinted := AmountPrinted + TenthsOfInchPixelsY*2;
end;
Такой вот код


Anatoly Podgoretsky   (2004-03-24 12:23:00) [3]

Анализ свойства SelectedRows достаточно для распечатки только выбранных строк


Плохиш   (2004-03-24 10:57:00) [4]


> Такой вот вопрос мне необходимо распчать выбранные щакладки
> не могу это произвести

Что-то не заметно попыток по распечатке.


visnuk   (2004-03-24 10:51:00) [5]

Почему выкинуть а как мне произвести выборку записей помоги


Zacho   (2004-03-22 20:20:00) [6]


> Visnuk ©  

Книгу, в которой приведен такой код, лучше выкинуть.


visnuk   (2004-03-22 13:29:00) [7]

тобиш поиск по сайту я уже делал и ничего не выдало


stud   (2004-03-22 12:13:00) [8]

запусти поиск это неоднократно обсуждалось


visnuk   (2004-03-22 10:40:00) [9]

Люди помогите


Наверх

Титульная страница Поиск, карта сайта Написать письмо