-
Сущевует ли у датасета или грида какое-то публичное свойство, которое указывает, что датасет выбрал (отфетчил) весь набор данных?
-
База - FB 2.1, если что.
-
нафига это знать?
начни бежать сверху вниз и всегда дойдешь до самого конца выборки.
а если тебе это не надо, то не надо и знать вся она уже или не вся прилетела.
-
> Сущевует ли у датасета или грида какое-то публичное свойство,
> которое указывает, что датасет выбрал (отфетчил) весь набор
> данных?
DataSet.Eof; :)
А вообще:
with DataSet do
begin
Open;
Last;
// Вот тут вот - всё выбрано.
end;
Если TIBSQL будешь использовать, то аля-улю, он однопроходный.
-
у ADO датасета ExecuteOptions = [] однозначно показывает что выбралось все сразу после команды Open, в других есть не свойство но событие прогресса и окончания выборки.
с базой - FB 2.1 можно работать через ADO, если что.
-
>нафига это знать?
нужно для некоторых интерфейсных решений знать, выбралось уже всё, или еще что-то будет выбираться.
>DataSet.Eof
да, смотрел в первую очередь. срабатывает только если курсор грида стоит на последней записи, иначе - не eof.
>Вот тут вот - всё выбрано.
не стоит задача выбрать всё. стоит задача определить - выбралось ли всё или нет.
спасибо всем, еще может мысли будут.
-
да, я думал событие ловить, вроде бы что-то такое было. если других вариантов нет - придется делать внутренний флаг и ловить.
-
не стоит задача выбрать всё. стоит задача определить - выбралось ли всё или нет.
ложная задача поверь.
если выбирать всего не нужно, то сами данные "конца выборки" - не нужны.
значит абсолютно пофик должно быть, все выбралось или нет.
-
поверь, задача истинная. нужно юзерам разное показывать, в зависимости от того, выбралось всё или нет. юзеры так хотят. юзеры за это платят, значит задача истинная - всё просто 1:)
-
ок, последним постом ты убедил меня окончательно.
задача твоя ЛОЖНАЯ
-
моя задача истинная, я гарантирую это! :)
-
покажи юзеру такое сразу после оупена:
"все уже загрузилось целиком, гарантирую это! Если не верите, пройдите в самый конец по Ctrl+PGDown"
-
Дмитрий Белькевич © (15.05.15 15:54) [8]
> юзеры за это платят
Нельзя ли подробнее о задаче ?
-
> стоит задача определить - выбралось ли всё или нет.
Ковырять конкретный потомок TDataSet, остальное от лукавого.
-
Нельзя ли подробнее о задаче ?
там наверняка что-то типа
когда грид еще не наполнился всеми данными он пусть будет красный.
а когда уже наполнился, пусть будет белым чтобы было понятно, что можно листать в конец.
-
Задача неверно поставлена, а также - реализация.
-
> Дмитрий Белькевич © (15.05.15 15:54) [8]
> поверь, задача истинная. нужно юзерам разное показывать,
> в зависимости от того, выбралось всё или нет. юзеры так
> хотят. юзеры за это платят, значит задача истинная - всё
> просто 1:)
Для "юзера", если он видит данные, то все данные загружены. Не верит, пусть докажет обратное.
PS. Не юзерего дело следить за закачкой данных, подозреваю, что он за другое зарплату получает.
-
> [5] Дмитрий Белькевич © (15.05.15 15:49)
> >DataSet.Eof
>
> да, смотрел в первую очередь. срабатывает только если курсор грида стоит на последней записи, иначе - не eof.
Это означает, что разработчики не допустили ошибки в функции Eof().
-
> [5] Дмитрий Белькевич © (15.05.15 15:49)
> курсор грида
Этот момент я сразу не увидел. Значит, разработчики функции, таки, допустили ошибку.
-
Eof метод документирован ещë со времëн царя гороха и, как в справке написано, показывает только то, что текущая запись в наборе данных является последней и больше ничего.