Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.03.11;
Скачать: [xml.tar.bz2];

Вниз

работа с bookmark   Найти похожие ветки 

 
_qwerty_   (2011-11-30 12:17) [0]

Нужно восстанавливать позицию курсора в датасете после FindKey. Корректен ли такой код?


function TGroups.Exists(Id: Integer): Boolean;
var
 Bookmark: TBookmark;
begin
 Bookmark := FGroupsTable.GetBookmark;
 try
   Result := Find(Id); // <- внутри функции вызывается FindKey,
     // который позиционирует курсор на найденную в датасете запись.
 finally
   if FGroupsTable.BookmarkValid(Bookmark) then
     FGroupsTable.GoToBookmark(Bookmark);
   FGroupsTable.FreeBookmark(Bookmark);
 end;
end;


 
Ega23 ©   (2011-11-30 12:20) [1]

Корректен.


 
Ega23 ©   (2011-11-30 12:20) [2]

Я бы ещё Disable/Enable Controls добавил, чтобы грид не прокручивался.


 
_qwerty_   (2011-11-30 12:30) [3]

а если Exists - метод класса ком-сервера. пользователь из 1С будет его вызывать и проверять существование группы, в этом случае Disable/Enable Controls не нужны?


 
Ega23 ©   (2011-11-30 12:43) [4]


>  пользователь из 1С будет его вызывать и проверять существование
> группы, в этом случае Disable/Enable Controls не нужны?


Выполни сначала свой код.
Потом вот такой:
function TGroups.Exists(Id: Integer): Boolean;
var
 Bookmark: TBookmark;
begin
FGroupsTable.DisableConrols;
try
 Bookmark := FGroupsTable.GetBookmark;
 try
   Result := Find(Id); // <- внутри функции вызывается FindKey,
     // который позиционирует курсор на найденную в датасете запись.
 finally
   if FGroupsTable.BookmarkValid(Bookmark) then
     FGroupsTable.GoToBookmark(Bookmark);
   FGroupsTable.FreeBookmark(Bookmark);
 end;
finally
 FGroupsTable.EnableConrols;
end;
end;


Почувствуй разницу.



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

Форум: "Начинающим";
Текущий архив: 2012.03.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
15-1321834443
иксик
2011-11-21 04:14
2012.03.11
А вот вы говорите автоваз


15-1321122840
Максим
2011-11-12 22:34
2012.03.11
Что делать в случае если Windows уже не помещается на винте?


2-1322552557
YURY
2011-11-29 11:42
2012.03.11
Потоки


2-1322553903
jacksotnik
2011-11-29 12:05
2012.03.11
Сохранение данных с помошью POST


15-1321475403
Юрий
2011-11-17 00:30
2012.03.11
С днем рождения ! 17 ноября 2011 четверг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский