|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
а как сделать фильтр дат?
а как фильтр дат так чтоб отображался только определенный месяц день или год?
Код:
begin if combobox1.itemIndex=0 then begin убрать строки end; end; Последний раз редактировалось TotKtoNado, 25.05.2011 в 16:14. |
#2
|
|||
|
|||
убрать строки откуда? из базы, Memo, Грида? конкретнее вопрос задавайте.
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#3
|
|||
|
|||
Цитата:
|
#4
|
|||
|
|||
грид хоть покажите, а то не понятно какой там формат дат и вообще, какой вид грида.
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#5
|
|||
|
|||
Цитата:
|
#6
|
|||
|
|||
Код:
procedure FilteredStringGrid(Grid: TStringGrid; filter: string; num_col_for_find: integer); var i,n: integer; cnt: integer; begin cnt := 0; for i := 0 to Grid.RowCount-1 do begin if (Grid.Cells[num_col_for_find,i] = filter) then begin for n := 0 to Grid.ColCount-1 do Grid.Cells[n,cnt] := Grid.Cells[n,i]; Inc(cnt); end; end; Grid.RowCount := cnt; end; использовать так (для вашего случая): Код:
FilteredStringGrid(StringGrid1,ComboBox1.Text,0); P.S. только второй раз фильтрации уже не будет, ибо в гриде уже не будет данных, я бы посоветовал использовать второй, невидимый грид, или перед каждой фильтрацией заного загружать данные. взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя Последний раз редактировалось Assistant, 25.05.2011 в 16:38. |
#7
|
||||
|
||||
в рантайме добавлять в конец sql того, из чего выборка попадает в грид
Код:
and (CAST(T_Date AS DATE) >= :Date1) and (CAST(T_DATE AS DATE) <= :Date2) переменная номер раз-Date1 начало выбранного месяца в формате дд:мм:гггг переменная номер два-Date2 конец выбранного месяца в нем же) |
#8
|
|||
|
|||
Цитата:
P.S.: попросили грид отфильтровать, я отфильтровал, никто не говорил про SQL. Надо сразу вопрос нормально ставить. Мне как-то влом вытягивать всё из человека. взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#9
|
|||
|
|||
Цитата:
тогда нужно скопировать ячейки из одного грида в другой грид и потом все равно убирать ненужные |
#10
|
||||
|
||||
Это да.
Никогда не пробовал прямо в гриде менять. Интересно сохранится ли после таких приколов возможность правильно выбирать запи сь по клику на грид. Цитата:
а почему бы просто перед каждой фильтрацией не делать гриду вкл\выкл? Датасет же такой фильтр не трогает. Последний раз редактировалось anonymous, 25.05.2011 в 16:54. |
#11
|
|||
|
|||
Цитата:
моя функция все найденное переносит в начало грида, второй грид не нужен, и убирает внизу оставшиеся строки, что бы отображалось только то, что нашлось. взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#12
|
|||
|
|||
Цитата:
Цитата:
|
#13
|
|||
|
|||
ну да, просто перед следующей фильтрацией нужно будет загрузить заново данные в StringGrid и отфильтровать, в чем проблема-то? а откуда данные вообще берешь?
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#14
|
||||
|
||||
Действительно стринггрид^^Это все проясняет)
Тогда да, перед каждой фильтрацией полностью его чистить и заполнять с начала. |
#15
|
|||
|
|||
Цитата:
|