SetDataSet(Value: IDatasetModel; AutoFillColumns: Boolean);
Value. Реляционный источник репозитория, данные которого необходимо отобразить в компоненте;
AutoFillColumns. Признак автоматического добавления всех полей источника в столбцы компонента.
Метод SetDataSet устанавливает для компонента реляционный источник данных.
В качестве источника данных для компонента в параметре Value могут выступать следующие объекты репозитория: Запрос, Таблица, Представление, Присоединенная таблица.
При выполнении метода в коллекции Columns будут созданы столбцы для каждого поля источника. Если параметру AutoFillColumns установлено значение True, то для столбцов будут установлены настройки по умолчанию и они будут отображены в компоненте. При значении параметра False будет необходимо в прикладном коде установить видимость и настройки тех столбцов, которые должны отображаться в компоненте.
Для выполнения примера в репозитории предполагается наличие веб-формы и таблицы с идентификатором T_DATA. В таблице имеется поле с идентификатором ID. На веб-форме расположена кнопка с наименованием Button1 и компонент DataGridView с наименованием DataGridView1.
Добавьте ссылки на системные сборки: DB, Express, Metabase, Tab, WebForms.
Class TESTWebForm: WebForm
Button1: WebButton;
DataGridView1: WebDataGridView;
Sub Button1OnClick;
Var
Mb: IMetabase;
DGView: IDataGridView;
Sorts: ISortSettings;
Sort: ISortSetting;
ExecSettings: IExecuteSettings;
Begin
Mb := MetabaseClass.Active;
DGView := DataGridView1.DataGridView;
// Смена источника
DGView.SetDataSet(Mb.ItemById("T_DATA").Bind As IDatasetModel, True);
DGView.BeginUpdate;
// Настройки отображения данных
ExecSettings := DGView.ExecuteSettings;
ExecSettings.AllowPaging := True;
ExecSettings.CurrentPage := 1;
ExecSettings.RecordsCount := 10;
ExecSettings.RecordsLimit := 1000;
// Настройки сортировки
DGView.EnableSort := True;
Sorts := DGView.SortSettings;
Sort := Sorts.Add(DGView.Columns.Item(0));
Sort.SortDirectionType
:= SortDirection.Ascending;
Debug.WriteLine("Сортировка по полю: " + Sort.FieldId);
// Примеры условий фильтрации
DGView.Expression.AsString := "(({id}>=100) and ({id}<=1000))";
DGView.Expression.AsString := "({client_name}=""Петров"")";
DGView.Expression.AsString := "({product_name}="""")";
DGView.Expression.AsString := "({product_name} <> NULL)";
DGView.EndUpdate;
End Sub Button1OnClick;
End Class TESTWebForm;
При выполнении примера к компоненту веб-формы DataGridView1 будет подключен источник данных. Будут определены настройки отображения данных источника, задана сортировка по первому столбцу и выражения для фильтрации данных.
См. также: