Set Custom View for a List Control from a Custom ASPX Page using API
- Last UpdatedMar 12, 2021
- 1 minute read
The following code demonstrates how to set a custom view for a List control from a custom ASPX page using API.
//Create a ViewItem
Skelta.Repository.List.ListDefinition listDefn = null;
Skelta.Repository.List.ListItemCollection _ListItems = null;
listDefn = ListDefinition.GetList(new Skelta.Core.ApplicationObject("repo1"),"Employee");
_ListItems = new Skelta.Repository.List.ListItemCollection(listDefn);
String _ ViewName = "myview";
Skelta.Repository.List.ListView.ListViewItem _ListViewItem = null;
_ListViewItem = Skelta.Repository.List.ListView.ListViewManager.GetListViewItem(listDefn, "myview");
if (_ListViewItem != null)
{
ListViewManager _ViewManager = new Skelta.Repository.List.ListView.ListViewManager(_ListViewItem);
_ListItems.IsTopLevelFormView = _ViewManager.IsTopLevelView;
List<string> filterColumns = new List<string>();
string _FilterQueryWithParam = string.Empty;
string _WFStatusParamQry = string.Empty;
bool _WFStatusFilter = false;
Workflow.NET.Config configObj = new Workflow.NET.Config(_ApplicationName);
IDataHandler dbHandler = DataHandlerFactory.GetDataHandler(configObj);
List<IDataParameter> _ViewFilterParamsCol = _ViewManager.GetFilterParameterCollection(dbHandler, out _FilterQueryWithParam,out _WFStatusFilter,out _WFStatusParamQry);
if (_WFStatusFilter)
{
_ListItems.WFStatusFilter = true;
_ListItems.WFStatusParamQry = _WFStatusParamQry;
}
string viewCols;
_ViewManager.GetDisplayColumnsInfo(out viewCols);
string totalRows ="";
DataTable itemsDataTable = null;
if (_ViewManager.DisplayAllItems)
{
itemsDataTable = _ListItems.GetRecords(_UserId, Guid.Empty, "", "", "", out totalRows, _"", _"", Fields.GridSpecific, Display.AllItems, viewCols, _FilterQueryWithParam, _ViewFilterParamsCol);
}
else
itemsDataTable = _ListItems.GetRecords(_UserId, Guid.Empty, "", "", "", out totalRows, _CustomQuery, _CustomQueryJoinClause, Fields.GridSpecific, Display.MainItems, viewCols, _FilterQueryWithParam, _ViewFilterParamsCol);
}