示例#1
0
        public ListProjectsForm(IEnumerable <Project> projects)
        {
            InitializeComponent();

            Projects = projects.ToList();

            ProjectsListView.Items.Clear();

            if (Projects.Any())
            {
                foreach (var p in Projects)
                {
                    ProjectsListView.Items.Add(new ListViewItem(items: new string[] { p.ProjectName, p.ConnectionStringSource, p.ConnectionStringDestination }, imageIndex: 0));
                }

                ProjectsListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
            }
            else
            {
                ProjectsListView.Items.Add(new ListViewItem
                {
                    Text = "There are no saved projects."
                });
            }

            ProjectsListView.LabelEdit = true;
        }
        /// <summary>
        ///   Handler invoked when item check changes. Called when checking and
        ///   unchecking must be synchronized between listviews.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected virtual void OnItemCheck(object sender, ItemCheckEventArgs ice)
        {
            ProjectsListView senderListView = sender as ProjectsListView;

            Debug.Assert(senderListView != null);
            if (!m_disableCheckSynchronization)
            {
                if (ConfigurationPersister.Instance.Configuration.NumberingOptions.ApplyToAllTypes)
                {
                    m_disableCheckSynchronization = true;
                    if (ice.NewValue != ice.CurrentValue)
                    {
                        foreach (ProjectsListView listView in m_listViews)
                        {
                            if (senderListView != listView)
                            {
                                listView.DoSafeCheck(ice.Index, ice.NewValue);
                            }
                        }
                    }
                    m_disableCheckSynchronization = false;
                }
            }
            if (ItemCheck != null)
            {
                ItemCheck(sender, ice);
            }
        }
示例#3
0
        private void Search(string inputVal = null)
        {
            var viewModel = BindingContext as ProjectsViewModel;

            if (viewModel != null)
            {
                var projects = viewModel.OriginalProjects.Where(p => !string.IsNullOrEmpty(inputVal) ? p.ProjectName.Contains(inputVal) : true);

                var orderedProjects = projects.OrderBy(p => p.StartDate);

                Device.BeginInvokeOnMainThread(() =>
                {
                    foreach (ProjectDto project in orderedProjects)
                    {
                        var coll = viewModel.Projects.FirstOrDefault(c => c.Key == project.StartDate);

                        if (coll == null)
                        {
                            viewModel.Projects.Add(coll = new ObservableCollectionWithDateKey {
                                Key = project.StartDate
                            });
                        }

                        coll.Add(project);
                    }

                    var group = viewModel.Projects.Last();
                    if (group != null)
                    {
                        ProjectsListView.ScrollTo(group.First(), group, ScrollToPosition.Start, false);
                    }
                });
            }
        }
        /// <summary>
        ///   Handler called when selection button is clicked.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnSelectionButtonClicked(object sender, System.EventArgs e)
        {
            RadioButton senderButton = sender as RadioButton;

            Debug.Assert(senderButton != null);
            ProjectsListView listView = senderButton.Tag as ProjectsListView;

            Debug.Assert(listView != null);
            SelectedListView = listView;
        }
 /// <summary>
 ///   Initialize fields.
 /// </summary>
 private void InitializeFields()
 {
     Debug.Assert(m_panelListViews != null && m_panelListViews.Controls.Count == 3);
     m_listViews = new ProjectsListView[m_panelListViews.Controls.Count];
     for (int i = 0; i < m_panelListViews.Controls.Count; i++)
     {
         ProjectsListView projectsListView = m_panelListViews.Controls[i] as ProjectsListView;
         Debug.Assert(projectsListView != null);
         m_listViews[i] = projectsListView;
     }
     SynchronizeColumnWidths();
 }
示例#6
0
        public ProjectsListPage()
        {
            InitializeComponent();
            BindingContext             = App.PROJECTS_VM;
            App.PROJECTS_VM.Navigation = this.Navigation;

            MessagingCenter.Subscribe <Project>(this, "MsgScrollToProject", (project) =>
            {
                Task.Delay(200).ContinueWith(t =>
                {
                    ProjectsListView.ScrollTo(project, ScrollToPosition.Start, true);
                });
            });
        }