示例#1
0
        internal void RefreshInstances()
        {
            instanceDataGridView.SelectionChanged -= instanceDataGridView_SelectionChanged;
            try
            {
                var instance  = GetSelectedProcessInstance();
                var instances = K2Client.Instance.WorkflowManager.GetProcessInstances(this.ProcSet.ProcSetID);

                var bindingSource = new BindingSource();
                bindingSource.DataSource = DataTableCreator.GetDataTable(instances);

                instanceBindingNavigator.BindingSource = bindingSource;
                instanceDataGridView.DataSource        = bindingSource;

                instanceDataGridView.Tag = instances;

                if (instance != null)
                {
                    var rowToSelect = (from r in instanceDataGridView.Rows.Cast <DataGridViewRow>()
                                       where Convert.ToInt32(r.Cells[Constants.DataTable.Instance.Id].Value).Equals(instance.ID)
                                       select r).FirstOrDefault();

                    if (rowToSelect != null)
                    {
                        rowToSelect.Selected = true;
                    }
                }

                ProcessInstanceSelected();
            }
            finally
            {
                instanceDataGridView.SelectionChanged += instanceDataGridView_SelectionChanged;
            }
        }
示例#2
0
        /// <summary>
        /// Creates a DataTable from an IEnumerable
        /// </summary>
        /// <typeparam name="TSource">The Generic type of the Collection</typeparam>
        /// <param name="Collection"></param>
        /// <returns>DataTable</returns>
        public static DataTable AsDataTable <TSource>(this IEnumerable <TSource> Collection)
        {
            DataTable dt = DataTableCreator <TSource> .GetDataTable();

            Func <TSource, object[]> Map = DataRowMapperCache <TSource> .GetDataRowMapper(dt);

            foreach (TSource item in Collection)
            {
                dt.Rows.Add(Map(item));
            }
            return(dt);
        }
示例#3
0
        private void RefreshActivities()
        {
            var instance   = GetSelectedProcessInstance();
            var activities = K2Client.Instance.WorkflowManager.GetProcActivities(instance?.ProcID);

            var bindingSource = new BindingSource();

            bindingSource.DataSource = DataTableCreator.GetDataTable(activities);

            activitiesBindingNavigator.BindingSource = bindingSource;
            activitiesDataGridView.DataSource        = bindingSource;

            activitiesDataGridView.Tag = activities;
        }