Пример #1
0
        public static void InitDefaultRepositoryLookupEdit(String strTableName, ABCRepositoryLookUpEdit repo)
        {
            DataConfigProvider.TableConfig config = DataConfigProvider.TableConfigList[strTableName];

            #region Columns
            foreach (String strField in config.FieldConfigList.Keys)
            {
                if (config.FieldConfigList[strField].InUse && config.FieldConfigList[strField].IsDefault)
                {
                    DevExpress.XtraEditors.Controls.LookUpColumnInfo col = new DevExpress.XtraEditors.Controls.LookUpColumnInfo();
                    col.FieldName = strField;
                    col.Caption   = DataConfigProvider.GetFieldCaption(strTableName, strField);
                    col.Visible   = true;
                    repo.Columns.Add(col);
                }
            }
            #endregion

            repo.ValueMember = DataStructureProvider.DataTablesList[strTableName].PrimaryColumn;

            repo.DisplayMember = DataStructureProvider.GetDisplayColumn(strTableName);
            if (String.IsNullOrWhiteSpace(repo.DisplayMember) && repo.Columns.Count > 0)
            {
                repo.DisplayMember = repo.Columns[0].FieldName;
            }

            repo.BestFit();
        }
Пример #2
0
        public void InitializeControls( )
        {
            GridCtrl = new ABCGridControl();
            GridCtrl.Initialize(TableName);
            ABCGridColumn col = new ABCGridColumn();

            col.FieldName                     = ABCCommon.ABCConstString.colSelected;
            col.Caption                       = "Chọn";
            col.TableName                     = TableName;
            col.VisibleIndex                  = 0;
            col.Visible                       = true;
            col.Width                         = 20;
            col.OptionsColumn.AllowEdit       = true;
            col.FilterMode                    = DevExpress.XtraGrid.ColumnFilterMode.DisplayText;
            col.OptionsFilter.AllowAutoFilter = true;
            col.ColumnEdit                    = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
            GridCtrl.GridDefaultView.Columns.Insert(0, col);


            GridCtrl.Dock              = System.Windows.Forms.DockStyle.Fill;
            GridCtrl.Parent            = this;
            GridCtrl.ShowSaveButton    = false;
            GridCtrl.ShowDeleteButton  = false;
            GridCtrl.ShowRefreshButton = false;
            GridCtrl.EnableFocusedCell = false;
            GridCtrl.FocusRectStyle    = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
            GridCtrl.BringToFront();

            this.Shown        += new EventHandler(ABCSelectionView_Shown);
            this.ShowInTaskbar = false;

            this.Text = "Danh sách " + DataConfigProvider.GetTableCaption(TableName);
        }
Пример #3
0
        void Form_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (isNeedSaveField || isNeedSaveTable)
            {
                DialogResult result = ABCHelper.ABCMessageBox.Show("Do you want to save ?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    STTableConfigsInfo objTableConfig = (STTableConfigsInfo)ViewTableConfig.GetRow(ViewTableConfig.FocusedRowHandle);
                    if (objTableConfig != null && String.IsNullOrWhiteSpace(objTableConfig.TableName) == false)
                    {
                        SaveFieldConfig(objTableConfig.TableName);
                    }

                    SaveTables();
                }
            }

            if (isModified)
            {
                DataConfigProvider.SynchronizeTableConfigs();
                foreach (HostSurface surface in OwnerStudio.SurfaceManager.DesignSurfaces)
                {
                    (surface.DesignerHost.RootComponent as ABCView).RefreshBindingControl();
                }
            }
        }
Пример #4
0
        void ConfigGridView_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            if (e.Column.FieldName == "FieldName" || e.Column.FieldName == "IsUseAlias")
            {
                ABCGridColumn.ColumnConfig config = this.ConfigGridView.GetRow(this.ConfigGridView.FocusedRowHandle) as ABCGridColumn.ColumnConfig;
                if (config != null)
                {
                    if (config.IsUseAlias)
                    {
                        String strCaption = String.Empty;
                        if (config.FieldName.Contains(":"))
                        {
                            DataCachingProvider.AccrossStructInfo structInfo = DataCachingProvider.GetAccrossStructInfo(config.TableName, config.FieldName);
                            if (structInfo != null)
                            {
                                strCaption = DataConfigProvider.GetFieldCaption(structInfo.TableName, structInfo.FieldName);
                            }
                        }
                        else
                        {
                            strCaption = DataConfigProvider.GetFieldCaption(config.TableName, config.FieldName);
                        }

                        if (string.IsNullOrWhiteSpace(strCaption) == false)
                        {
                            config.Caption = strCaption;
                        }
                    }
                }
            }

            RefreshDisplayGrid();
        }
Пример #5
0
        public void SaveTables( )
        {
            ABCWaitingDialog.Show("", "Saving . . .!");

            if (this.ViewFieldConfig.DataSource != null)
            {
                STFieldConfigsController configCtrl = new STFieldConfigsController();
                foreach (DataRow dr in ((DataView)this.ViewFieldConfig.DataSource).Table.Rows)
                {
                    STFieldConfigsInfo configInfo = (STFieldConfigsInfo)configCtrl.GetObjectFromDataRow(dr);
                    if (configInfo != null)
                    {
                        configCtrl.UpdateObject(configInfo);
                        isModified = true;
                    }
                }
            }
            STTableConfigsController aliasCtrl = new STTableConfigsController();

            foreach (STTableConfigsInfo aliasInfo in TableList)
            {
                aliasCtrl.UpdateObject(aliasInfo);
            }

            DataConfigProvider.SynchronizeTableConfigs();
            InvalidateTableList();

            ABCWaitingDialog.Close();

            isNeedSaveTable = false;
        }
Пример #6
0
        public void CreatePoints(object obj)
        {
            this.Points.Clear();
            if (obj == null)
            {
                return;
            }

            String[] strArrays = this.ValueMembers.Split(';');
            int      i         = 0;

            foreach (String strItem in strArrays)
            {
                PropertyInfo proInfo = obj.GetType().GetProperty(strItem);
                if (proInfo == null)
                {
                    return;
                }

                object objValue = proInfo.GetValue(obj, null);

                i++;
                String strCaption = String.Empty;
                if (obj is BusinessObject)
                {
                    strCaption = DataConfigProvider.GetFieldCaption((obj as BusinessObject).AATableName, strItem);
                }

                SeriesPoint point = new SeriesPoint(strCaption, new object[] { objValue }, i);
                this.Points.Add(point);
            }
        }
Пример #7
0
        private void InitField(ABCCommonTreeListNode parentNode, String strTableName, String strFieldName)
        {
            ABCScreen.ABCBindingConfig bindInfo = ((FieldNodeInfo)parentNode.InnerData).Config;
            String strDiplay = DataConfigProvider.GetFieldCaption(strTableName, strFieldName);

            if (strDiplay == strFieldName)
            {
                return;
            }

            FieldNodeInfo fieldInfo = new FieldNodeInfo();

            fieldInfo.Display = strDiplay;
            fieldInfo.Type    = FiledNodeType.Field;
            fieldInfo.Config  = bindInfo;
            if (String.IsNullOrWhiteSpace(((FieldNodeInfo)parentNode.InnerData).FieldName) == false)
            {
                fieldInfo.FieldName = ((FieldNodeInfo)parentNode.InnerData).FieldName + ":";
            }

            fieldInfo.FieldName += strFieldName;
            fieldInfo.TableName  = strTableName;

            ABCCommonTreeListNode node = new ABCCommonTreeListNode(parentNode, fieldInfo);

            InitControls(node);

            if (DataStructureProvider.IsForeignKey(strTableName, strFieldName))
            {
                fieldInfo.Type = FiledNodeType.Foreign;
            }
        }
Пример #8
0
        public static String GetLabelCaption(String strTableName, String strDataMember)
        {
            if (string.IsNullOrWhiteSpace(strDataMember) || String.IsNullOrWhiteSpace(strTableName))
            {
                return(String.Empty);
            }

            if (strDataMember.Contains(":") == false)
            {
                return(DataConfigProvider.GetFieldCaption(strTableName, strDataMember));
            }

            String strCurrentTableName = strTableName;

            String[] strArray = strDataMember.Split(':');
            foreach (String strCurrentField in strArray)
            {
                if (DataStructureProvider.IsForeignKey(strCurrentTableName, strCurrentField))
                {
                    strCurrentTableName = DataStructureProvider.GetTableNameOfForeignKey(strCurrentTableName, strCurrentField);
                }
                else
                {
                    return(DataConfigProvider.GetFieldCaption(strCurrentTableName, strCurrentField));
                }
            }

            return(String.Empty);
        }
Пример #9
0
        private void UpdateLabelText( )
        {
            if (this.LayoutItem.Control == null)
            {
                return;
            }

            String strCaption = String.Empty;

            if (String.IsNullOrWhiteSpace(this.DataSource) == false && string.IsNullOrWhiteSpace(this.DataMember) == false)
            {
                strCaption = ABCPresentHelper.GetLabelCaption(OwnerView, this.DataSource, this.DataMember);
            }
            else
            {
                if (String.IsNullOrWhiteSpace(this.TableName) == false && string.IsNullOrWhiteSpace(this.DataMember) == false)
                {
                    strCaption = ABCPresentHelper.GetLabelCaption(this.TableName, this.DataMember);
                }
                else
                {
                    strCaption = DataConfigProvider.GetTableCaption(this.TableName);
                }
            }
            if (String.IsNullOrWhiteSpace(textLabel))
            {
                this.LayoutItem.Text = strCaption;
            }
            else
            {
                this.LayoutItem.Text = textLabel;
            }
        }
Пример #10
0
        public void PopulateControls(ABCView view, String BusName, String strTableName)
        {
            ViewOwner  = view;
            DataSource = BusName;
            TableName  = strTableName;
            int iCount = 0;

            foreach (DataConfigProvider.FieldConfig fieldConfig in DataConfigProvider.TableConfigList[strTableName].FieldConfigList.Values)
            {
                //if ( fieldConfig.IsDefault )
                //{
                String strDiplay = DataConfigProvider.GetFieldCaption(strTableName, fieldConfig.FieldName);
                if (strDiplay == fieldConfig.FieldName)
                {
                    continue;
                }

                ABCBindingBaseEdit ctrl;

                if (view.Mode == ViewMode.Design)
                {
                    ctrl = (ABCBindingBaseEdit)view.Surface.DesignerHost.CreateComponent(typeof(ABCBindingBaseEdit));
                }
                else
                {
                    ctrl = (ABCBindingBaseEdit)ABCDynamicInvoker.CreateInstanceObject(typeof(ABCBindingBaseEdit));
                }

                ABCBindingInfo bindInfo = new ABCBindingInfo();
                bindInfo.BusName   = BusName;
                bindInfo.TableName = TableName;
                bindInfo.FieldName = fieldConfig.FieldName;
                List <Type> lstType = ABCControls.ABCPresentHelper.GetControlTypes(TableName, fieldConfig.FieldName);
                if (lstType.Count <= 0)
                {
                    continue;
                }
                foreach (Type type in lstType)
                {
                    if (type != typeof(ABCSearchControl))
                    {
                        bindInfo.ControlType = lstType[0];
                        break;
                    }
                }
                ctrl.Initialize(view, bindInfo);
                ctrl.Parent = this;
                iCount++;
                //}
            }
            if (iCount % 2 != 0)
            {
                iCount++;
            }
            iCount    = iCount / 2;
            this.Size = new Size(229 * 2 + 4 * 3, 20 * iCount + (iCount + 1) * 5);
        }
Пример #11
0
        public void InitializeToolbar( )
        {
            if (this.Screen.DataManager.MainObject == null)
            {
                this.View.ShowRefreshItem   = false;
                this.View.ShowCancelItem    = false;
                this.View.ShowSaveItem      = false;
                this.View.ShowEditItem      = false;
                this.View.ShowDuplicateItem = false;
                this.View.ShowNewItem       = false;
                this.View.ShowDeleteItem    = false;
                this.View.ShowSearchItem    = false;
                this.View.ShowPostItem      = false;
                this.View.ShowApproveItem   = false;
                this.View.ShowLockItem      = false;
                this.View.ShowPrintItem     = false;
                this.View.ShowInfoItem      = false;
            }
            else
            {
                this.View.ShowSaveItem   = false;
                this.View.ShowCancelItem = false;
                this.View.ShowInfoItem   = true;
            }

            BackupToolbarStatus.ShowNewItem       = this.View.ShowNewItem;
            BackupToolbarStatus.ShowEditItem      = this.View.ShowEditItem;
            BackupToolbarStatus.ShowDuplicateItem = this.View.ShowDuplicateItem;
            BackupToolbarStatus.ShowDeleteItem    = this.View.ShowDeleteItem;
            BackupToolbarStatus.ShowSaveItem      = this.View.ShowSaveItem;
            BackupToolbarStatus.ShowCancelItem    = this.View.ShowCancelItem;

            SetToolBarButtonVisibility(ABCView.ScreenBarButton.New, this.View.ShowNewItem);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.Duplicate, this.View.ShowDuplicateItem);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.Edit, this.View.ShowEditItem);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.Delete, this.View.ShowDeleteItem);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.Approve, this.View.ShowApproveItem);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.Reject, false);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.Lock, this.View.ShowLockItem);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.UnLock, false);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.Post, this.View.ShowPostItem);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.UnPost, false);
            SetToolBarButtonVisibility(ABCView.ScreenBarButton.Print, this.View.ShowPrintItem);

            if (this.Screen.DataManager.MainObject != null)
            {
                foreach (GERelationConfigsInfo config in VoucherProvider.GetRelationConfigs(this.Screen.DataManager.MainObject.TableName))
                {
                    AddNewToolbarButton("UtilitiesItem", String.Format("Tạo từ {0}", DataConfigProvider.GetTableCaption(config.SourceTableName)), config.GetID(), "NewFromRelation-" + config.SourceTableName, 46);
                    SetToolBarButtonVisibility(ABCView.ScreenBarButton.Utilities, true);
                }
            }

            this.View.ToolbarClickEvent += new ABCView.ABCToobarClickEventHandler(View_ToolbarClickEvent);
        }
Пример #12
0
        public ABCObjectInformation(ABCObjectInfo obj)
        {
            currentObject = obj;

            InitializeComponent();

            if (obj.ObjectID == Guid.Empty)
            {
                return;
            }

            txtObjectType.Text = DataConfigProvider.GetTableCaption(obj.TableName);
            txtObjectNo.Text   = obj.ObjectNo;

            this.Text = "Lịch sử " + txtObjectType.Text + " : " + txtObjectNo.Text;

            txtCreateUser.Text = obj.CreateUser;
            if (obj.CreateTime.HasValue)
            {
                txtCreateTime.Text = obj.CreateTime.Value.ToString("dd/MM/yyyy HH:mm");
            }
            else
            {
                txtCreateTime.Text = "";
            }

            txtUpdateUser.Text = obj.UpdateUser;
            if (obj.UpdateTime.HasValue)
            {
                txtUpdateTime.Text = obj.UpdateTime.Value.ToString("dd/MM/yyyy HH:mm");
            }
            else
            {
                txtUpdateTime.Text = "";
            }

            txtEditCount.Text = obj.EditCount.ToString();

            ABCComment comment = new ABCComment();

            comment.Dock = DockStyle.Fill;
            comment.LoadComments(obj.TableName, obj.ObjectID);
            xtraTabPage1.Controls.Add(comment);

            ABCLogging logging = new ABCLogging();

            logging.Dock = DockStyle.Fill;
            logging.LoadLogs(obj.TableName, obj.ObjectID);
            xtraTabPage2.Controls.Add(logging);
        }
Пример #13
0
        public static void InitDefaultColumns(String strTableName, ABCGridView view)
        {
            DataConfigProvider.TableConfig config = DataConfigProvider.TableConfigList[strTableName];

            SortedDictionary <String, ABCGridColumn> sortedListCols = new SortedDictionary <String, ABCGridColumn>();

            foreach (String strField in config.FieldConfigList.Keys)
            {
                if (config.FieldConfigList[strField].InUse && config.FieldConfigList[strField].IsDefault)
                {
                    ABCGridColumn gridCol = new ABCGridColumn();
                    gridCol.Name         = strField;
                    gridCol.TableName    = strTableName;
                    gridCol.FieldName    = strField;
                    gridCol.Caption      = DataConfigProvider.GetFieldCaption(strTableName, strField);
                    gridCol.Visible      = true;
                    gridCol.VisibleIndex = config.FieldConfigList[strField].SortOrder;

                    InitDefaultRepository(gridCol);

                    gridCol.InitFormat();

                    if (sortedListCols.ContainsKey(config.FieldConfigList[strField].SortOrder.ToString()) == false)
                    {
                        sortedListCols.Add(config.FieldConfigList[strField].SortOrder.ToString(), gridCol);
                    }
                    else
                    {
                        sortedListCols.Add(config.FieldConfigList[strField].SortOrder.ToString() + strField, gridCol);
                    }
                }
            }
            foreach (ABCGridColumn gridCol in sortedListCols.Values)
            {
                view.Columns.Add(gridCol);
            }

            foreach (ABCGridColumn gridCol in sortedListCols.Values)
            {
                if (config.FieldConfigList.ContainsKey(gridCol.FieldName) && config.FieldConfigList[gridCol.FieldName].IsGrouping)
                {
                    if (gridCol.FieldName != null && gridCol.FieldName.Contains(":"))
                    {
                        gridCol.GroupInterval = ColumnGroupInterval.DisplayText;
                    }
                    gridCol.Group();
                }
            }
        }
Пример #14
0
        public static void InitDefaultRepository(ABCGridColumn gridCol)
        {
            try
            {
                #region RepositoryLookupEdit
                if (DataStructureProvider.IsForeignKey(gridCol.TableName, gridCol.FieldName))
                {
                    String strPKTableName = DataStructureProvider.GetTableNameOfForeignKey(gridCol.TableName, gridCol.FieldName);
                    gridCol.ColumnEdit = GetDefaultRepositoryLookUpEdit(strPKTableName, false);
                    (gridCol.ColumnEdit as ABCRepositoryLookUpEdit).DataSource = DataCachingProvider.TryToGetDataView(strPKTableName, false);
                }
                #endregion

                #region Enum
                else if (DataStructureProvider.IsTableColumn(gridCol.TableName, gridCol.FieldName) &&
                         String.IsNullOrWhiteSpace(DataConfigProvider.TableConfigList[gridCol.TableName].FieldConfigList[gridCol.FieldName].AssignedEnum) == false)
                {
                    String strEnum = DataConfigProvider.TableConfigList[gridCol.TableName].FieldConfigList[gridCol.FieldName].AssignedEnum;
                    if (EnumProvider.EnumList.ContainsKey(strEnum))
                    {
                        ABCRepositoryLookUpEdit repo = new ABCRepositoryLookUpEdit();

                        repo.Properties.ValueMember = "ItemName";
                        if (ABCApp.ABCDataGlobal.Language == "VN")
                        {
                            repo.Properties.DisplayMember = "CaptionVN";
                        }
                        else
                        {
                            repo.Properties.DisplayMember = "CaptionEN";
                        }

                        DevExpress.XtraEditors.Controls.LookUpColumnInfo col = new DevExpress.XtraEditors.Controls.LookUpColumnInfo();
                        col.FieldName = repo.Properties.DisplayMember;
                        col.Caption   = DataConfigProvider.GetFieldCaption(gridCol.TableName, gridCol.FieldName);
                        col.Visible   = true;
                        repo.Properties.Columns.Add(col);
                        repo.Properties.DataSource = EnumProvider.EnumList[strEnum].Items.Values.ToArray();
                        gridCol.ColumnEdit         = repo;
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
            }
        }
Пример #15
0
        public void InitColumnsFromTable( )
        {
            foreach (String strField in DataStructureProvider.DataTablesList[TableName].ColumnsList.Keys)
            {
                if (!DataConfigProvider.TableConfigList[TableName].FieldConfigList.ContainsKey(strField))
                {
                    continue;
                }

                DataConfigProvider.FieldConfig config = DataConfigProvider.TableConfigList[TableName].FieldConfigList[strField];
                String strCaption = DataConfigProvider.GetFieldCaption(TableName, strField);

                if (config.TypeName == "DateTime" || config.TypeName == "Nullable<DateTime>")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(DateTime), new RepositoryItemDateEdit(), FilterColumnClauseClass.DateTime));
                }
                if (config.TypeName == "int" || config.TypeName == "Nullable<int>")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(int), new RepositoryItemSpinEdit(), FilterColumnClauseClass.Generic));
                }
                if (config.TypeName == "Guid" || config.TypeName == "Nullable<Guid>")
                {
                    if (DataStructureProvider.IsForeignKey(TableName, strField))
                    {
                        String strPKTableName             = DataStructureProvider.GetTableNameOfForeignKey(TableName, strField);
                        RepositoryItemLookUpEditBase repo = ABCControls.UICaching.GetDefaultRepository(strPKTableName, false);
                        repo.DataSource = DataCachingProvider.TryToGetDataView(strPKTableName, false);

                        this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(Guid), repo, FilterColumnClauseClass.Lookup));
                    }
                }
                if (config.TypeName == "String")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(String), new RepositoryItemTextEdit(), FilterColumnClauseClass.String));
                }
                if (config.TypeName == "double")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(double), new RepositoryItemTextEdit(), FilterColumnClauseClass.Generic));
                }
                if (config.TypeName == "bool" || config.TypeName == "Nullable<bool>")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(bool), new RepositoryItemCheckEdit(), FilterColumnClauseClass.Generic));
                }
            }
        }
Пример #16
0
        public static void AssignEnums(GridColumn gridCol, String strTableName, String strFieldName, String strFilterString)
        {
            if (DataStructureProvider.IsTableColumn(strTableName, strFieldName) &&
                String.IsNullOrWhiteSpace(DataConfigProvider.TableConfigList[strTableName].FieldConfigList[strFieldName].AssignedEnum) == false)
            {
                String strEnum = DataConfigProvider.TableConfigList[strTableName].FieldConfigList[strFieldName].AssignedEnum;
                if (EnumProvider.EnumList.ContainsKey(strEnum))
                {
                    ABCRepositoryLookUpEdit repo = new ABCRepositoryLookUpEdit();

                    repo.Properties.ValueMember = "ItemName";
                    if (ABCApp.ABCDataGlobal.Language == "VN")
                    {
                        repo.Properties.DisplayMember = "CaptionVN";
                    }
                    else
                    {
                        repo.Properties.DisplayMember = "CaptionEN";
                    }

                    DevExpress.XtraEditors.Controls.LookUpColumnInfo col = new DevExpress.XtraEditors.Controls.LookUpColumnInfo();
                    col.FieldName = repo.Properties.DisplayMember;
                    col.Caption   = DataConfigProvider.GetFieldCaption(strTableName, strFieldName);
                    col.Visible   = true;
                    repo.Properties.Columns.Add(col);
                    if (!String.IsNullOrWhiteSpace(strFilterString))
                    {
                        List <String> lstTemps = strFilterString.Split(';').ToList();
                        repo.Properties.DataSource = EnumProvider.EnumList[strEnum].Items.Values.Where(e => lstTemps.Contains(e.ItemName)).ToArray();
                    }
                    else
                    {
                        repo.Properties.DataSource = EnumProvider.EnumList[strEnum].Items.Values.ToArray();
                    }
                    gridCol.ColumnEdit = repo;
                }
            }
        }
Пример #17
0
        private void InitRepositoryLookupEdit( )
        {
            String strFieldName = this.DataMember.Split(':')[0];

            if (DataStructureProvider.IsForeignKey(this.TableName, strFieldName))
            {
                this.LookupTableName = DataStructureProvider.GetTableNameOfForeignKey(this.TableName, strFieldName);
                ABCControls.UICaching.InitDefaultRepositoryLookupEdit(this.LookupTableName, this.Properties);

                if (String.IsNullOrWhiteSpace(this.DisplayMember) == false && DataStructureProvider.IsTableColumn(this.LookupTableName, this.DisplayMember))
                {
                    this.Properties.DisplayMember = this.DisplayMember;
                }

                if (String.IsNullOrWhiteSpace(this.ValueMember) == false && DataStructureProvider.IsTableColumn(this.LookupTableName, this.ValueMember))
                {
                    this.Properties.ValueMember = this.ValueMember;
                }


                #region DataSource
                if (String.IsNullOrWhiteSpace(DefaultFilterString))
                {
                    this.Properties.DataSource = DataCachingProvider.TryToGetDataView(this.LookupTableName, false);
                }
                else
                {
                    DataView newView = DataCachingProvider.TryToGetDataView(this.LookupTableName, true);
                    newView.RowFilter          = DevExpress.Data.Filtering.CriteriaToWhereClauseHelper.GetDataSetWhere(DevExpress.Data.Filtering.CriteriaOperator.Parse(DefaultFilterString));
                    this.Properties.DataSource = newView;
                }
                #endregion

                if (this.Enabled)
                {
                    this.Enabled = ABCScreen.ABCScreenHelper.Instance.CheckTablePermission(this.LookupTableName, TablePermission.AllowView);
                }
            }
            else if (DataStructureProvider.IsTableColumn(this.TableName, strFieldName) &&
                     String.IsNullOrWhiteSpace(DataConfigProvider.TableConfigList[this.TableName].FieldConfigList[strFieldName].AssignedEnum) == false)
            {
                String strEnum = DataConfigProvider.TableConfigList[this.TableName].FieldConfigList[strFieldName].AssignedEnum;
                if (EnumProvider.EnumList.ContainsKey(strEnum))
                {
                    this.Properties.ValueMember = "ItemName";
                    if (ABCApp.ABCDataGlobal.Language == "VN")
                    {
                        this.Properties.DisplayMember = "CaptionVN";
                    }
                    else
                    {
                        this.Properties.DisplayMember = "CaptionEN";
                    }

                    DevExpress.XtraEditors.Controls.LookUpColumnInfo col = new DevExpress.XtraEditors.Controls.LookUpColumnInfo();
                    col.FieldName = this.Properties.DisplayMember;
                    col.Caption   = DataConfigProvider.GetFieldCaption(this.TableName, strFieldName);
                    col.Visible   = true;
                    this.Properties.Columns.Add(col);

                    this.Properties.DataSource = EnumProvider.EnumList[strEnum].Items.Values.ToArray();
                }
            }
            this.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFit;
            this.Properties.BestFit();
        }
Пример #18
0
        public void InitializeControls( )
        {
            //SearchPanel=new ABCAutoSearchPanel();
            //SearchPanel.PopulateControls( BindingObject.TableName );
            //SearchPanel.Dock=System.Windows.Forms.DockStyle.Top;
            //this.Width=SearchPanel.Width+30;

            //SearchPanel.Parent=this;
            //SearchPanel.Search+=new ABCSearchPanel.ABCSearchEventHandler( SearchPanel_Search );

            GridCtrl = new ABCGridControl();
            GridCtrl.Initialize(BindingObject.TableName);

            binding = new BindingSource();
            GridCtrl.GridDataSource = binding;
            GridCtrl.RefreshDataSource();

            if (DataStructureProvider.IsTableColumn(BindingObject.TableName, ABCCommon.ABCConstString.colEditCount))
            {
                if (GridCtrl.GridDefaultView.Columns.ColumnByFieldName(ABCCommon.ABCConstString.colEditCount) == null)
                {
                    ABCGridColumn col = new ABCGridColumn();
                    col.FieldName                     = ABCCommon.ABCConstString.colEditCount;
                    col.Caption                       = "Hiệu chỉnh";
                    col.TableName                     = BindingObject.TableName;
                    col.VisibleIndex                  = GridCtrl.GridDefaultView.Columns.Count - 1;
                    col.Visible                       = true;
                    col.Width                         = 20;
                    col.OptionsColumn.AllowEdit       = false;
                    col.FilterMode                    = DevExpress.XtraGrid.ColumnFilterMode.DisplayText;
                    col.OptionsFilter.AllowAutoFilter = true;
                    GridCtrl.GridDefaultView.Columns.Insert(GridCtrl.GridDefaultView.Columns.Count - 1, col);
                }
                //if ( GridCtrl.GridDefaultView.Columns.ColumnByFieldName( ABCCommon.ABCConstString.colSelected )==null )
                //{
                //    ABCGridColumn col=new ABCGridColumn();
                //    col.FieldName=ABCCommon.ABCConstString.colSelected;
                //    col.Caption="Chọn";
                //    col.TableName=BindingObject.TableName;
                //    col.VisibleIndex=0;
                //    col.Visible=true;
                //    col.Width=20;
                //    col.OptionsColumn.AllowEdit=true;
                //    col.FilterMode=DevExpress.XtraGrid.ColumnFilterMode.DisplayText;
                //    col.OptionsFilter.AllowAutoFilter=true;
                //    col.ColumnEdit=new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
                //    GridCtrl.GridDefaultView.Columns.Add( col );
                //}
            }


            GridCtrl.Dock                         = System.Windows.Forms.DockStyle.Fill;
            GridCtrl.Parent                       = this;
            GridCtrl.ShowSaveButton               = false;
            GridCtrl.ShowDeleteButton             = false;
            GridCtrl.ShowRefreshButton            = false;
            GridCtrl.EnableFocusedCell            = false;
            GridCtrl.FocusRectStyle               = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
            GridCtrl.GridDefaultView.DoubleClick += new EventHandler(GridDefaultView_DoubleClick);
            GridCtrl.GridDefaultView.MouseUp     += new System.Windows.Forms.MouseEventHandler(GridDefaultView_MouseUp);
            GridCtrl.BringToFront();

            this.Height = 400;
            this.Width  = 700;
            if (BindingObject.DataManager.Screen.ViewForm != null)
            {
                this.Location = new Point(BindingObject.DataManager.Screen.ViewForm.Left - this.Width, BindingObject.DataManager.Screen.ViewForm.Top);
                this.Height   = BindingObject.DataManager.Screen.ViewForm.Height;
                BindingObject.DataManager.Screen.ViewForm.LocationChanged += new EventHandler(ABCSearchView_LocationChanged);
                BindingObject.DataManager.Screen.ViewForm.SizeChanged     += new EventHandler(ABCSearchView_SizeChanged);
                this.Width = 300;
            }
            this.Shown       += new EventHandler(ABCSearchView_Shown);
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(ABCSearchView_FormClosing);

            this.ShowInTaskbar = false;

            this.Text = "Danh sách " + DataConfigProvider.GetTableCaption(BindingObject.TableName);

            chkNotYetApproved.Visible         = DataStructureProvider.IsTableColumn(BindingObject.TableName, ABCCommon.ABCConstString.colApprovalStatus);
            chkLocked.Visible                 = DataStructureProvider.IsTableColumn(BindingObject.TableName, ABCCommon.ABCConstString.colLockStatus);
            chkNotYetPosted.Visible           = DataStructureProvider.IsTableColumn(BindingObject.TableName, ABCCommon.ABCConstString.colJournalStatus);
            chkNotYetApproved.Checked         = false;
            chkLocked.Checked                 = false;
            chkNotYetPosted.Checked           = false;
            chkNotYetApproved.CheckedChanged += new EventHandler(chk_CheckedChanged);
            chkLocked.CheckedChanged         += new EventHandler(chk_CheckedChanged);
            chkNotYetPosted.CheckedChanged   += new EventHandler(chk_CheckedChanged);
            this.StartPosition                = FormStartPosition.CenterParent;

            //   SearchPanel_Search( null );
        }
Пример #19
0
        public void InitializeControls( )
        {
            if (RelationConfig == null)
            {
                return;
            }

            if (RelationConfig.IsFromSource)
            {
                #region MainObject
                MainGridCtrl = new ABCGridControl();
                MainGridCtrl.Initialize(RelationConfig.SourceTableName);
                bindingMain = new BindingSource();
                MainGridCtrl.GridDataSource = bindingMain;
                MainGridCtrl.RefreshDataSource();

                ABCGridColumn col = new ABCGridColumn();
                col.FieldName                     = ABCCommon.ABCConstString.colSelected;
                col.Caption                       = "Chọn";
                col.TableName                     = RelationConfig.SourceTableName;
                col.VisibleIndex                  = 0;
                col.Visible                       = true;
                col.Width                         = 20;
                col.OptionsColumn.AllowEdit       = true;
                col.FilterMode                    = DevExpress.XtraGrid.ColumnFilterMode.DisplayText;
                col.OptionsFilter.AllowAutoFilter = true;
                col.ColumnEdit                    = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
                MainGridCtrl.GridDefaultView.Columns.Insert(0, col);

                MainGridCtrl.Dock              = System.Windows.Forms.DockStyle.Fill;
                MainGridCtrl.Parent            = mainTab;
                MainGridCtrl.ShowSaveButton    = false;
                MainGridCtrl.ShowDeleteButton  = false;
                MainGridCtrl.ShowRefreshButton = false;
                MainGridCtrl.EnableFocusedCell = false;
                MainGridCtrl.FocusRectStyle    = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
                MainGridCtrl.BringToFront();

                mainTab.Text = " Chọn " + DataConfigProvider.GetTableCaption(RelationConfig.SourceTableName);

                #endregion
            }
            if (RelationConfig.IsFromSourceItem)
            {
                #region ItemObject
                ItemGridCtrl = new ABCGridControl();
                ItemGridCtrl.Initialize(RelationConfig.SourceItemTableName);
                bindingItem = new BindingSource();
                ItemGridCtrl.GridDataSource = bindingItem;
                ItemGridCtrl.RefreshDataSource();

                ABCGridColumn col = new ABCGridColumn();
                col.FieldName                     = ABCCommon.ABCConstString.colSelected;
                col.Caption                       = "Chọn";
                col.TableName                     = RelationConfig.SourceItemTableName;
                col.VisibleIndex                  = 0;
                col.Visible                       = true;
                col.Width                         = 20;
                col.OptionsColumn.AllowEdit       = true;
                col.FilterMode                    = DevExpress.XtraGrid.ColumnFilterMode.DisplayText;
                col.OptionsFilter.AllowAutoFilter = true;
                col.ColumnEdit                    = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
                ItemGridCtrl.GridDefaultView.Columns.Insert(0, col);

                ItemGridCtrl.Dock              = System.Windows.Forms.DockStyle.Fill;
                ItemGridCtrl.Parent            = itemTab;
                ItemGridCtrl.ShowSaveButton    = false;
                ItemGridCtrl.ShowDeleteButton  = false;
                ItemGridCtrl.ShowRefreshButton = false;
                ItemGridCtrl.EnableFocusedCell = false;
                ItemGridCtrl.FocusRectStyle    = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
                ItemGridCtrl.BringToFront();

                itemTab.Text = " Chọn " + DataConfigProvider.GetTableCaption(RelationConfig.SourceItemTableName);


                #endregion
            }

            this.Shown        += new EventHandler(ABCRelationChooser_Shown);
            this.ShowInTaskbar = false;
            this.StartPosition = FormStartPosition.CenterParent;

            this.Text = String.Format("Tạo {0} từ {1}", DataConfigProvider.GetTableCaption(RelationConfig.DestinyTableName), DataConfigProvider.GetTableCaption(RelationConfig.SourceTableName));
        }
Пример #20
0
        private void InitTable(ABCCommonTreeListNode parentNode, ABCScreen.ABCBindingConfig bindInfo)
        {
            if (DataStructureProvider.DataTablesList.ContainsKey(bindInfo.TableName) == false)
            {
                return;
            }

            ABCCommonTreeListNode node      = null;
            FieldNodeInfo         fieldInfo = new FieldNodeInfo();

            fieldInfo.Display = DataConfigProvider.GetTableCaption(bindInfo.TableName) + String.Format(@" ( {0} ) ", bindInfo.Name);
            fieldInfo.Type    = FiledNodeType.List;
            fieldInfo.Config  = bindInfo;
            node = new ABCCommonTreeListNode(parentNode, fieldInfo);

            InitControl(node, typeof(ABCSearchPanel), "SearchPanel");
            InitControl(node, typeof(ABCAutoSearchPanel), "AutoSearchPanel");
            InitControl(node, typeof(ABCDataPanel), "DataPanel");
            if (bindInfo.IsList)
            {
                fieldInfo.Type = FiledNodeType.List;

                #region IsList

                #region Grid
                fieldInfo                               = new FieldNodeInfo();
                fieldInfo.Type                          = FiledNodeType.Control;
                fieldInfo.Display                       = "GridControl";
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(typeof(ABCGridControl));
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
                fieldInfo.ToolboxItem.Binding.TableName = bindInfo.TableName;
                ABCCommonTreeListNode listNode = new ABCCommonTreeListNode(node, fieldInfo);
                #endregion

                #region BandedGrid
                fieldInfo                               = new FieldNodeInfo();
                fieldInfo.Type                          = FiledNodeType.Control;
                fieldInfo.Display                       = "BandedGridControl";
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(typeof(ABCGridBandedControl));
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
                fieldInfo.ToolboxItem.Binding.TableName = bindInfo.TableName;
                listNode = new ABCCommonTreeListNode(node, fieldInfo);
                #endregion

                #region BandedGrid
                fieldInfo                               = new FieldNodeInfo();
                fieldInfo.Type                          = FiledNodeType.Control;
                fieldInfo.Display                       = "PivotGridControl";
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(typeof(ABCPivotGridControl));
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
                fieldInfo.ToolboxItem.Binding.TableName = bindInfo.TableName;
                listNode = new ABCCommonTreeListNode(node, fieldInfo);
                #endregion

                #region BandedGrid
                fieldInfo                               = new FieldNodeInfo();
                fieldInfo.Type                          = FiledNodeType.Control;
                fieldInfo.Display                       = "TreeList";
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(typeof(ABCTreeList));
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
                fieldInfo.ToolboxItem.Binding.TableName = bindInfo.TableName;
                listNode = new ABCCommonTreeListNode(node, fieldInfo);
                #endregion
                #endregion
            }
            else
            {
                fieldInfo.Type = FiledNodeType.Table;
            }

            foreach (String strFieldName in DataStructureProvider.DataTablesList[bindInfo.TableName].ColumnsList.Keys)
            {
                InitField(node, bindInfo.TableName, strFieldName);
            }


            foreach (ABCScreen.ABCBindingConfig childInfo in bindInfo.Children.Values)
            {
                InitTable(node, childInfo);
            }
        }