/// <summary> /// Initializes the data source connected to this band. /// </summary> public void InitDataSource() { if (DataSource == null) { DataSource = new VirtualDataSource(); DataSource.SetReport(Report); } if (DataSource is VirtualDataSource) { (DataSource as VirtualDataSource).VirtualRowsCount = RowCount; } DataSourceBase parentDataSource = ParentDataBand == null ? null : ParentDataBand.DataSource; bool collectChildRows = ParentDataBand == null ? false : ParentDataBand.CollectChildRows; if (Relation != null) { DataSource.Init(Relation, Filter, Sort, collectChildRows); } else { DataSource.Init(parentDataSource, Filter, Sort, collectChildRows); } }
protected override Entity CreateDayVirtualDataSourceRow(VirtualDataSource daysDataSource, DayInCalendarObject day, Guid gridRecordId) { Entity row = base.CreateDayVirtualDataSourceRow(daysDataSource, day, gridRecordId); row.SetColumnValue(DateStringVirtualColumnName, day.Date.ToString("ddd dd MMMM yyyy")); return(row); }
/// <summary> /// ####### ########### ######### ### ######### # ############ ## ########### ####### /// </summary> protected VirtualDataSource CreateDaysVirtualDataSource() { var virtualDataSource = new VirtualDataSource { ID = DaysVirtualDataSourceName }; virtualDataSource.Loaded += DaysTreeGrid.DataLoaded; virtualDataSource.RowUpdated += DaysTreeGrid.RowUpdated; DaysTreeGrid.GetRowConfigHandler = GetTreeGridRowConfig; return(virtualDataSource); }
/// <summary> /// ######## ########### ######### ### ######### /// </summary> /// <param name="treeGridRecordId">############# ### ######### # ######</param> protected void RefreshDayVirtualDataSourceRecord(Guid treeGridRecordId) { VirtualDataSource dataSource = GetDaysVirtualDataSource(); DayInCalendarObject actualDayInCalendar = GetDay(treeGridRecordId); CurrentDaysGridData[treeGridRecordId] = actualDayInCalendar; Entity row = CreateDayVirtualDataSourceRow(dataSource, actualDayInCalendar, treeGridRecordId); dataSource.Update(row); dataSource.LoadRow(treeGridRecordId); }
/// <summary> /// ################ ########### ######### ### ######### /// </summary> protected void RegisterDaysVirtualDataSource() { VirtualDataSource dataSource = GetDaysVirtualDataSource(); if (dataSource != null) { return; } dataSource = CreateDaysVirtualDataSource(); InitializeDaysVirtualDataSource(dataSource); dataSource.LoadStructure(); _page.PageContainer.Controls.Add(dataSource); }
/// <summary> /// ######### ########### ######### ### ######### /// </summary> protected virtual void FillVirtualDataSource() { IEnumerable <DayInCalendarObject> days = GetDays(); VirtualDataSource daysDataSource = GetDaysVirtualDataSource(); daysDataSource.Clear(); CurrentDaysGridData.Clear(); foreach (DayInCalendarObject day in days) { Guid gridRecordId = Guid.NewGuid(); Entity row = CreateDayVirtualDataSourceRow(daysDataSource, day, gridRecordId); daysDataSource.Add(row); CurrentDaysGridData.Add(gridRecordId, day); } }
/// <summary> /// ########## #### ######### ## ######### /// </summary> /// <returns>############# ### # ######</returns> protected virtual Guid SelectDefaultDayRecord() { Guid gridRecordId = Guid.Empty; if (!CurrentDaysGridData.Any()) { return(gridRecordId); } VirtualDataSource dataSource = GetDaysVirtualDataSource(); gridRecordId = GetFirstDayInCalendarData().Key; dataSource.SetClientActiveRow(gridRecordId); dataSource.SetActiveRow(gridRecordId); DaysTreeGrid.SelectNode(gridRecordId.ToString(), true); return(gridRecordId); }
/// <summary> /// ####### ###### # ########### ########## ### ######### /// </summary> /// <param name="daysDataSource">########### ######### ### #########</param> /// <param name="day">###### ### #########</param> /// <param name="gridRecordId">############# ### ######### # ######</param> /// <returns>######## ### ######### # ##########</returns> protected virtual Entity CreateDayVirtualDataSourceRow(VirtualDataSource daysDataSource, DayInCalendarObject day, Guid gridRecordId) { Entity row = daysDataSource.CreateRow(); row.SetColumnValue("DayOfWeekId", day.DayOfWeekId); row.SetColumnValue("DayOfWeekName", GetDayOfWeekNames()[day.DayOfWeekId]); row.SetColumnValue("DayTypeId", day.DayTypeId); row.SetColumnValue("DayTypeName", GetDayTypeNames()[day.DayTypeId]); row.SetColumnValue("CalendarId", day.CalendarId); row.SetColumnValue(GridRecordIdColumnName, gridRecordId); if (day.Date.Date != DateTime.MinValue.Date) { row.SetColumnValue("Date", day.Date); } return(row); }
protected override void InitializeDaysVirtualDataSource(VirtualDataSource virtualDataSource) { DataSourceStructure structure = virtualDataSource.DefStructure; var dataValueTypeManager = (DataValueTypeManager)UserConnection.AppManagerProvider.GetManager("DataValueTypeManager"); var dateStringColumn = new DataSourceStructureColumn { Name = DateStringVirtualColumnName, DataValueType = dataValueTypeManager.GetInstanceByName("MediumText"), IsVisible = true, Caption = DataVirtualColumnCaption, IsHideable = false, IsSortable = false, MenuDisabled = true }; structure.AddColumn(dateStringColumn); base.InitializeDaysVirtualDataSource(virtualDataSource); }
/// <summary> /// ################ ########### ######### ### ######### /// </summary> protected virtual void InitializeDaysVirtualDataSource(VirtualDataSource virtualDataSource) { var dataValueTypeManager = (DataValueTypeManager)UserConnection.AppManagerProvider.GetManager("DataValueTypeManager"); DaysTreeGrid.DataSourceId = virtualDataSource.ID; DataSourceStructure edsStructure = DaysEntityDataSource.CurrentStructure; DataSourceStructure vdsStructure = virtualDataSource.DefStructure; vdsStructure.PrimaryColumnName = GridRecordIdColumnName; vdsStructure.PrimaryDisplayColumnName = edsStructure.PrimaryDisplayColumnName; foreach (DataSourceStructureColumn edsColumn in edsStructure.Columns) { vdsStructure.AddColumn((DataSourceStructureColumn)edsColumn.Clone()); } var treeGridRecordIdColumn = new DataSourceStructureColumn { Name = GridRecordIdColumnName, DataValueType = dataValueTypeManager.GetInstanceByName("Guid"), IsVisible = false, }; vdsStructure.AddColumn(treeGridRecordIdColumn); }