/// <summary> /// Creates a view for a data control's data source. /// </summary> /// <param name="viewDefinition">The defintion of the data control source view.</param> /// <returns></returns> internal RuntimeReadOnlyView CreateDataControlSourceView(IDataSourceViewDefinition viewDefinition) { RuntimeReadOnlyView view = new RuntimeReadOnlyView(); InitializeView(view, viewDefinition); view.CursorBuilder = new CursorBuilder(view); view.RangeBuilder = ((DataControlSourceViewDefinition)viewDefinition).RangeDataBuilder; return(view); }
/// <summary> /// /// </summary> /// <param name="controlId"></param> /// <returns></returns> public RuntimeReadOnlyView GetDataControlViewByBoundControlId(int controlId) { RuntimeReadOnlyView dataControlView = null; foreach (var view in DataControlViews) { if (((DataControlSourceViewDefinition)view.DataSourceViewDefinition).BoundControlId == controlId) { dataControlView = view; break; } } return(dataControlView); }
public GatewayResult AddDataControlView(RuntimeReadOnlyView view, DcValuesBuilderBase dcValuesBuilder) { GatewayResult result = null; DataControlViews.Add(view); int boundControlId = ((DataControlSourceViewDefinition)view.DataSourceViewDefinition).BoundControlId; var dsId = view.DataSourceViewDefinition.TaskDataSource.DataSourceDefinition.Id; var strategy = new DataControlValuesComputeStrategy(boundControlId, dcValuesBuilder, view.RangeBuilder, dsId); var unitId = RecomputeIdFactory.GetRecomputeId(typeof(DcValues), boundControlId); RecordComputer.Add(unitId, strategy); result = view.OpenDataSource(); view.BuildCursor(); if (result.Success) { view.Prepare(); } return(result); }
/// <summary> /// Initializes a view according to provided view definition. /// </summary> /// <param name="view">The view to initialize</param> /// <param name="viewDefinition">The parameters for the initialized view.</param> private void InitializeView(RuntimeReadOnlyView view, IDataSourceViewDefinition viewDefinition) { view.Initialize(viewDefinition, LocalDataviewManager); }