Главная страница
    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.48 MB
Время: 0.034 c
3-1079596544
viktor
2004-03-18 10:55
2004.04.18
размер поля


7-1076331450
Chery
2004-02-09 15:57
2004.04.18
Как узнать имя лок. диска и метку с кот. запускается приложение?


14-1079993660
Обитатель
2004-03-23 01:14
2004.04.18
Knight дело говорит!


3-1079534042
stelius
2004-03-17 17:34
2004.04.18
Transaction


1-1080743581
Фдуч
2004-03-31 18:33
2004.04.18
Меню в MDI приложении





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