Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизФильтрация таблицы dBase Найти похожие ветки
← →
Виталий Панасенко (2004-12-23 09:23) [0]Есть форма, на которой лежат компоненты TEdit, TDBGrid, TTable, TDataSourse ... Последние три соответственно связаны для отображения... В обработчике OnChange TEditа написан код Table1.Filtered := True;
Больше нчего.
В обработчике OnFilterRecord Table1 имеем код типа
Accept := Pos(Edit1.Text, dataSet["FILTER_FIELD"])>0;
Проблема в чем: при работе с форматом dBase, если менять значение Edit1 на заведомо не встречающуюся подстроку в поле фильтрации, получаем пустую сетку.. Так и должно быть.. НО! при исправлении значения на заведомо встречающуюся -все равно пусто... с Paradox все реагирует мгновенно и адекватно...
При чем не важно, есть индексы или нет - глюк остается...
Пробовал как через БДЕ так и через АДО... Помогает только переоткрытие...
← →
Johnmen © (2004-12-23 09:28) [1]>В обработчике OnChange TEditа написан код Table1.Filtered := True;
А такTable1.DisableControls;
//Table1.Filtered := False;
Table1.Filtered := True;
Table1.EnableControls;
← →
Виталий Панасенко (2004-12-23 09:46) [2]Не помогло... :-(
вот весь OnFilterRecord(много лишнего - уже не знаю что и делать):
Accept := True;
if Edit1.Text<>"" then
begin
if not Table1.FieldByName("F").IsNull then
Accept := Pos(Edit1.Text, Table1.FieldByName("F").AsString)>0
else
Accept := False;
end
else
Accept := True;
← →
Johnmen © (2004-12-23 10:56) [3]
Accept := (Edit1.Text="") or
(Pos(Edit1.Text, Table1.FieldByName("F").AsString)>0);
Но дело не в этом. А в том, чтобы инициировать перерисовку грида после изменения условия фильтрации...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.044 c