示例#1
0
        internal TaskViewsCollection BuildViewsCollection(Task task)
        {
            TaskViewsCollection taskViews = new TaskViewsCollection();

            this.task      = task;
            taskViews.Task = task;

            taskViews.Fields.AddRange(FieldsBuilder.Build(task));
            taskViews.SetVirtualView(CreateVirtualView());
            taskViews.SetRemoveView(CreateRemoteView());
            CreateRealRecordViews(taskViews);
            CreateRecordCursors(taskViews);
            taskViews.MapRecordFields();
            taskViews.SetRecordsComputer(BuildRecordComputer(taskViews));
            taskViews.SetLocateExpressionRecordComputer(BuildLocateExpressionRecordComputer(taskViews));

            if (taskViews.ViewMain == null)
            {
                LocalDataviewManager.PositionCache.IncludesFirst = true;
                LocalDataviewManager.PositionCache.IncludesLast  = true;
            }

            return(taskViews);
        }