CreateFieldFilterStateResult CreateFieldFilterState(OdId tOb, CreateFieldFilterStateArg tArg)
tOb. Моникёр открытого экземпляра реляционного объекта.
tArg. Параметры выполнения операции.
Операция CreateFieldFilterState создаёт область хранения настроек для автофильтра по значениям поля.
Операция используется для работы с данными открытого экземпляра реляционного источника данных - таблицей, присоединённой таблицей, запросом, представлением, журналом. Для каждого отдельного поля область хранения может быть создана только один раз. При последующих вызовах настройки в области хранения будут перезаписаны. Для выполнения операции укажите в поле tOb моникёр открытого экземпляра реляционного объекта, а в поле tArg информацию о поле, необходимую для создания настроек. Моникёр может быть получен при выполнении операций OpenTable, OpenQuery. В tArg также будет необходимо задать моникёр кеша реляционного объекта, который может быть получен с помощью операций GetTable/GetQuery с указанным в шаблоне полем cachedDataset.
Результатом выполнения операции будет признак успешного создания области хранения настроек автофильтра.
Для дальнейшей работы с автофильтром используйте операции GetFieldValues, SetFieldFilter. Для закрытия области хранения настроек автофильтра используйте операцию CloseFieldFilterState. Полное удаление настроек автофильтров из памяти осуществляется при закрытии реляционного источника с помощью операций CloseTable/CloseQuery.
Предполагается, что имеется открытая на просмотр таблица, получен её моникёр и моникёр кеша таблицы. В таблице имеется поле с идентификатором REGION.
Ниже приведён пример создания области хранения настроек автофильтра для указанного поля таблицы. В запросе передаются два моникёра и идентификатор поля. В ответе возвращается признак успешного создания области хранения настроек.
{
"CreateFieldFilterState" :
{
"tOb" :
{
"id" : "NLDGBACJHDEIGOAEOJMGHOOJDGJFPBFEFJEKHLKPOKBAEPOF!M!S!TABLECMPCMBCJHDEIGOAEHNKFEHGJCOOAFFIEIJCFENIDGAPBKEPP"
},
"tArg" :
{
"columnId" : "REGION",
"cachedDatasetId" :
{
"id" : "NLDGBACJHDEIGOAEOJMGHOOJDGJFPBFEFJEKHLKPOKBAEPOF!M!S!CACHEDDATASETOKBHDCCJHDEIGOAEPEALCLNDILEJPILEBJGJBCLICJLOHKBD"
}
}
}
}
{
"CreateFieldFilterStateResult" :
{
"success" : "1"
}
}
public static CreateFieldFilterStateResult CreateFieldFilterState(string tableMoniker, string tableCacheMoniker, string fieldId)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tCreate = new CreateFieldFilterState()
{
tArg = new CreateFieldFilterStateArg()
{
cachedDatasetId = new OdId() { id = tableCacheMoniker },
columnId = fieldId
},
tOb = new OdId() { id = tableMoniker }
};
// Создание области хранения настроек автофильтра
var result = somClient.CreateFieldFilterState(tCreate);
return result;
}
См. также: