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

Вниз

Печать DBGrid с множественным выбором   Найти похожие ветки 

 
Visnuk ©   (2004-03-17 16:26) [0]

Кто может помочь такой вот вопрос вычитал в книге и нашел полную ссылку на код:
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-22 10:40) [1]

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


 
stud ©   (2004-03-22 12:13) [2]

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


 
visnuk ©   (2004-03-22 13:29) [3]

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


 
Zacho ©   (2004-03-22 20:20) [4]


> Visnuk ©  

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


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

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


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


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

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


 
Anatoly Podgoretsky ©   (2004-03-24 12:23) [7]

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


 
visnuk ©   (2004-03-24 15:17) [8]

> Что-то не заметно попыток по распечатке.
код распечатки такой вот
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;
Такой вот код


 
visnuk ©   (2004-03-24 15:19) [9]

> Анализ свойства 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]));

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



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
9-1066230830
Still_Swamp
2003-10-15 19:13
2004.04.18
Подскажите алгоритм шума.


8-1072341789
Вовчик
2003-12-25 11:43
2004.04.18
Помогите отправить звук на выход карты


3-1079967734
Max_Ivanych
2004-03-22 18:02
2004.04.18
Название поля на русском, в таблице около 2 млн. записей...


9-1066645021
MozG
2003-10-20 14:17
2004.04.18
Как избавиться от дополнительных клавиш в DXInput?


7-1077355599
RainKM
2004-02-21 12:26
2004.04.18
файловий менеджер на Делфи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский