예제 #1
0
        private void InitListManager()
        {
            ucListManager.ID               = string.Format("{0}List", CurrentSubject.SubjectType);
            ucListManager.InstanceType     = CurrentSubject.SubjectType;
            ucListManager.IsGridInFormEdit = CurrentSubject.IsGridInFormEdit;

            if (ControlledFieldName.TrimHasValue() && !object.Equals(CurrentSubject.MasterSubjectIdField, ControlledFieldName))
            {
                AllowAdd    = false;
                AllowEdit   = false;
                AllowDelete = false;
                AllowImport = false;
            }

            if (MasterInstance != null)
            {
                // Child list
                ucListManager.IsChildList = true;
                ucListManager.IsAddInGrid = true;
                if (AllowImport && ImportUrl.TrimHasValue())
                {
                    ucListManager.ImportBtnPostBackUrl = GetUrl(ImportUrl, MasterInstance.Id);
                }
            }
            else
            {
                // Top level list
                ucListManager.IsChildList = false;
                ucListManager.IsAddInGrid = CurrentSubject.IsAddInGrid;
                if (AllowAdd && CurrentSubject.EditUrl.TrimHasValue())
                {
                    ucListManager.AddBtnPostBackUrl = GetUrl(CurrentSubject.EditUrl, null);
                }
                if (AllowImport && CurrentSubject.ImportUrl.TrimHasValue())
                {
                    ucListManager.ImportBtnPostBackUrl = GetUrl(CurrentSubject.ImportUrl, null);
                }
            }

            ucListManager.ListLabel = ListLabel;
            ucListManager.AllowFilteringByColumn = AllowFilteringByColumn;
            ucListManager.AllowAdd    = AllowAdd;
            ucListManager.AllowImport = AllowImport;

            ucListManager.NeedListInstances   += new NeedListInstancesEventHandler(ucListManager_NeedListInstances);
            ucListManager.InstanceRowNewing   += new InstanceRowNewingEventHandler(ucListManager_InstanceRowNewing);
            ucListManager.InstanceRowSaving   += new InstanceRowSavingEventHandler(ucListManager_InstanceRowSaving);
            ucListManager.InstanceRowDeleting += new InstanceRowDeletingEventHandler(ucListManager_InstanceRowDeleting);

            DefineColumns();
        }
예제 #2
0
 public void LoadInstanceData()
 {
     if (CurrentInstance.IsNew)
     {
         // For new instance, set Controlled field value
         if (ControlledFieldName.TrimHasValue() && ControlledFieldValue != null)
         {
             ReflectionHelper.SetValue(CurrentInstance, ControlledFieldName, ControlledFieldValue);
         }
     }
     foreach (DucBaseControl ducControl in _ducControlCollection)
     {
         ducControl.LoadDucValue(CurrentInstance);
     }
 }