예제 #1
0
        private static DataSet GetDataSet(ITypeDescriptorContext context)
        {
            if (context == null)
            {
                return(null);
            }
            TableItem tableItem = context.Instance as TableItem;

            if (tableItem == null)
            {
                return(null);
            }
            ISessionWorkerContainer sessionWorkerContainer = tableItem.SessionWorkerContainer;

            if (sessionWorkerContainer == null)
            {
                return(null);
            }
            IDesignerHost service = (IDesignerHost)context.GetService(typeof(IDesignerHost));

            if (service == null)
            {
                return(null);
            }
            foreach (IComponent component in service.Container.Components)
            {
                SessionWorkerControl control = component as SessionWorkerControl;
                if (control != null && sessionWorkerContainer.SessionWorkerControl != null &&
                    sessionWorkerContainer.SessionWorkerControl.Equals(control.ID, StringComparison.OrdinalIgnoreCase) &&
                    !string.IsNullOrEmpty(control.TypeName))
                {
                    try
                    {
                        Type tDataSet = BuildManager.GetType(control.TypeName, false, true);
                        if (tDataSet != null)
                        {
                            return(Activator.CreateInstance(tDataSet) as DataSet);
                        }
                    }
                    catch
                    {
                        return(null);
                    }
                }
            }
            return(null);
        }
예제 #2
0
 public ListTableItems(IEnumerable <T> collection, ISessionWorkerContainer sessionWorkerContainer) : base(collection)
 {
     this.sessionWorkerContainer = sessionWorkerContainer;
 }
예제 #3
0
 public ListTableItems(ISessionWorkerContainer sessionWorkerContainer)
 {
     this.sessionWorkerContainer = sessionWorkerContainer;
 }