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

Вниз

Поиск как в 1С   Найти похожие ветки 

 
vvh   (2005-10-25 19:20) [0]

Здравствуйте Мастера! Есть необходимость сделать поиск как в 1С,
где то видел что это можно реализовать с помощью, TEdit и сообщений, но никак не получается. Не могу понять какое сообщение нужно послать строке ввода.Помогите, пожалуйста.


 
Anatoly Podgoretsky ©   (2005-10-25 19:40) [1]

А как там поиск реализован


 
YurikGL ©   (2005-10-25 19:48) [2]

Наверное имеется в виду поиск документов, когда задается верхняя и нижняя границы диапазона поиска?
Для этого нужно разместить два календаря на форме и динамически составлять запрос в котором будут соответсвующие условия в секции where


 
vvh   (2005-10-25 19:56) [3]

Я имею ввиду, когда мы начинаем набирать искомое, открывается поле ввода, куда копируется то что мы уже ввели


 
vvh   (2005-10-25 19:59) [4]

Подобный вопрос уже когда-то задавался, но по ссылке получил:
"Не найдена ветка № 1102411092, возможно она была удалена или перенесена в другой форум."


 
Anatoly Podgoretsky ©   (2005-10-25 20:09) [5]

Вот теперь понятно, а с чем у тебя проблема?


 
vvh   (2005-10-25 20:15) [6]

Когда начинаю вводить буквы(цифры), поле ввода появляется, но пустое, надо вводить еще раз.


 
Anatoly Podgoretsky ©   (2005-10-25 20:17) [7]

Ты их до помещения в поле, где то сохраняй, а потом копируй в поле.


 
vvh   (2005-10-25 20:23) [8]

Вот что есть у меня, где сохранять:

procedure TFrameListTeacher.DBGridEh1KeyPress(Sender: TObject;
 var Key: Char);
begin
 inherited;

dxEdit1.Visible:=True;
dxEdit1.SetFocus;
end;

procedure TFrameListTeacher.dxEdit1KeyPress(Sender: TObject;
 var Key: Char);
begin
 inherited;
if Key=#13 then
begin
 dxEdit1.Visible:=False;
 DBGridEh1.SetFocus;
 end;
end;

procedure TFrameListTeacher.dxEdit1Change(Sender: TObject);
begin
 inherited;
  if not fDM.tTeacher.Locate("FAMILY", dxEdit1.Text,[loCaseInsensitive, loPartialKey])
   then  messagebeep(0);

end;


 
YurikGL ©   (2005-10-25 20:51) [9]

Пользуй свойство OptionsEH.dghPreferIncSearch:=true


 
vvh   (2005-10-25 20:54) [10]

Что это за свойство? Как его найти?


 
YurikGL ©   (2005-10-25 20:56) [11]


> vvh   (25.10.05 20:54) [10]

Свойство EHGrid-а в инспекторе объекта...
Установи его в true


 
vvh   (2005-10-25 21:02) [12]

Установил, но все осталось по прежнему. Нажимаю клавишу, едит появился, но пустой.


 
YurikGL ©   (2005-10-25 21:09) [13]

Убери едит....
Просто ehGrid подключенный к датасету
ReadOnly:=true
OptionsEH.dghPreferIncSearch:=true
встаешь курсором в колонку и начинаешь набирать текст... грид будет сам позиционировать курсор.


 
vvh   (2005-10-25 21:17) [14]

Понятно. Большое спасибо всем за помощь.  
Но я нашел таки, то что хотел:

procedure TFrameListTeacher.DBGridEh1KeyPress(Sender: TObject;
 var Key: Char);
begin
 inherited;
dxEdit1.Visible:=True;
SendMessage(dxEdit1.Handle,WM_CHAR,Ord(Key),0);<-------это решило проблему
dxEdit1.SetFocus;
end


 
syte_ser78 ©   (2005-10-26 08:55) [15]

YurikGL ©   (25.10.05 21:09) [13]
Удобно. А как выставить интервал между двумя различными запросами на поиск?


 
msguns ©   (2005-10-26 09:35) [16]

Поиск в 1С удобен лишь для контекстного поиска, но абсолютно неприемлим, если надо найти все записи, удовлетворяющие заданному критерию и показать их списком отдельно от грида (фильтр - это совсем не то). Да и поиск по нескольким колонкам или диапазону там реализован коряво.



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

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

Наверх




Память: 0.5 MB
Время: 0.037 c
6-1122620933
Hereticsoul
2005-07-29 11:08
2005.11.13
TClientSocket пытаться подключиться.


2-1130192008
alex-s
2005-10-25 02:13
2005.11.13
Чем пользоватся и как


6-1122448409
ZSergey
2005-07-27 11:13
2005.11.13
ServerSocket и ClientSocket


14-1129788075
dreamse
2005-10-20 10:01
2005.11.13
Проблема с доступом к сайту !


14-1129701653
Иксик
2005-10-19 10:00
2005.11.13
Есть ли у нас на форуме кто-нибудь из Симферополя?