Форум: "Начинающим";
Текущий архив: 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