Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Вниз

Печать 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.031 c
6-1076413122
Alex Z
2004-02-10 14:38
2004.04.18
Ошибка Socketa 10049


6-1075998789
DelphiN!
2004-02-05 19:33
2004.04.18
Команды SMTP серверов


1-1080470536
TGrey
2004-03-28 14:42
2004.04.18
К какому языку принадлежит текст


1-1080364316
User_OKA
2004-03-27 08:11
2004.04.18
Гиперссылка


1-1080548862
Хэнк
2004-03-29 12:27
2004.04.18
Можно сделать, чтобы компоненты грабились в bmp файл?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский