Главная страница
    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
1-1288366250
Vasena
2010-10-29 19:30
2012.03.11
Полиморфизм+"множественное наследование"


15-1321796904
И. Павел
2011-11-20 17:48
2012.03.11
Порекомендуйте сервер для игры в шахматы


2-1322648800
wflow
2011-11-30 14:26
2012.03.11
ADOConnection. Событие onExecuteComplete


2-1322507312
_qwerty_
2011-11-28 23:08
2012.03.11
работа с таблицей бд из класса


15-1321516927
CRLF
2011-11-17 12:02
2012.03.11
Цin7, Записки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский