Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 22:29 30.04.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема позиция на таблица в грид  
Авторpak rodi (Нерегистриран)
Публикувано24.11.06 10:48



Хмм ... някой с повечко опит дали може да ми каже как да постигна следния ефект:
Имам една таблица, която я запълвам с по 24 записа за 365 дни. Потребителя ще се
интересува от данните за текущия ден (за 24.11.2006 да виждам от 00:00 до 23:00)
Приложението ще е активно денонощно. Мисля да сложа таймер и при смяна на датата
да визуализирам съответните записи.
Query не е много удачно, че ще товаря паметта на компютъра, а на него има пуснати
и други приложения ...
Та как да позиционирам записите в Grida при смяна на датата.
(... не знам дали бях много ясна)



Тема Re: позиция на таблица в гриднови [re: pak rodi]  
АвторDesso (Нерегистриран)
Публикувано24.11.06 14:53



Ами не бе особено ясна ...



Каква ти е таблицата - локална или на сървър?
Трябва ли да се виждат записите за другите дни или не е проблем да се скриват?
Какъв е драйвера на таблицата - default, FoxPro, Paradox - всичките си имат особености...

"Query не е много удачно, че ще товаря паметта на компютъра" - напротив, много си е подходящо и въобще не товари паметта:

Query.SQL.Clear();
Query.SQL.Add('SELECT * FROM Alabala...');
Query.Open();

И в някаква временна таблица (локална в папката на exe-то):

Table.DataBaseName:=<Dir>;
Table.TableName:='Temp';

Table.BatchMove(Query,batCopy);

Table.Open();

Query.Close();

....


Дай малко повече информация де...



Тема Re: позиция на таблица в гриднови [re: Desso]  
Авторpoди (Нерегистриран)
Публикувано27.11.06 10:57



Привет, таблиците ги създадох с ДБИСАМ. Локални са.
Мисля, че се справих с визуализацията в грида с филтриране:
..
K5_IndT2.Filtered := true;
..
procedure TDataModule1.K5_IndT2FilterRecord(DataSet: TDataSet; var Accept: Boolean);
var DateFilt : Single;
begin
DateFilt := K5_IndT2.FieldByName('currdate').Value;
Accept := (DateFilt = date);
end;

Не знам дали е добре, но ми върши работа :)

"Трябва ли да се виждат записите за другите дни или не е проблем да се скриват? " - сожих един ДетеТаймПикер,който мисля да ползвам като параметър, при необходимост от визуализиране на данни за друга дата. Мисля да обработвам OnChange. Dali e dobra idea?



Тема Re: позиция на таблица в гриднови [re: poди]  
АвторDesso (Нерегистриран)
Публикувано27.11.06 16:58



Ами идеята не е от най-добрите


Я си представи, че трябва да се сменят датата и месеца - това са две събития OnChange, които накъсват работата на потребителя - филтърът ще се изпълни два пъти...
По-добре сложи бутон от рода "Зареди" или нещо подобно.

Иначе - идеята за филтъра е добра, но имай в предвид, че при голям брой записи (от порядъка на милиони) - филтърът е бавен, защото преминава през всички записи на таблицата. Може да се ускори ако се добави индекс по това поле(датата).



Тема дата и месец?нови [re: Desso]  
Авторrodi (Нерегистриран)
Публикувано28.11.06 12:54



Чудя се как да задам ДатеТаймПикер-а като параметър .....
Ще сменям само това поле и филтера ще е по него (защо да са отделно дата и месец??)

Броя записи са 365х24=8760 за година (живот и здраве да ползват програмата 10 години 80хил записа)
А индекс трябва да сложа наистина



Тема Re: дата и месец?нови [re: rodi]  
АвторDesso (Нерегистриран)
Публикувано28.11.06 16:32



DateTimePicker:
[image]http://tempa1.hit.bg/DataTimePicker.bmp[/image]

Както виждаш има повече от едно полета, които могат да се променят, и то поотделно.

Иначе - една променлива от тип TDate в която ако ти трябва пазиш стойността на датата. По принцип филтърът работи със стрингове, така че може да се ползва процедурата:

procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);

Format:='dd.mm.yyyy';



Тема Re: дата и месец?нови [re: Desso]  
Авторrodi (Нерегистриран)
Публикувано29.11.06 09:28



Прав си. Но си мисля, че обикновения поребител ще клика на стрелкичката и ще направи промяната от календара веднъж.

Опитвах с DateTimeToString вече, но нещо не се получи. Нещо се оплетох, защото DataTimePickerа ми е в едната форма, а филтъра е в ДатаМодила и май трябва да преместя създаването на формата след ДатаМодула ?!??! Пак ще опитам.



Тема Re: дата и месец?нови [re: rodi]  
АвторDesso (Нерегистриран)
Публикувано29.11.06 20:04



Внимавай как ти е настроена System Date в конторл панела, защото може и оттам да ти е проблема.
Можеш да провериш:

Label1.Caption:=Table1.FieldByName('Date').AsString;

може накрая да има " г.", което прецаква работата. Как да се оправи - или в контрол панела се сменя формата на датата (за всеки компютър) или в приложението се дава форматиращ стринг 'dd-mm-yyyy г.'. Успех






Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.