Пример #1
0
        private void ProjeXUC_Load(object sender, EventArgs e)
        {
            prtTableAdapter.Fill(opsDataSet.PRT, "PRTID > 0", Program.USR);

            prtGridControl.ExternalRepository = Program.MF.mainPersistentRepository;
            colDRM.ColumnEdit      = Program.MF.prtDrmRepositoryItemLookUpEdit;
            colTUR.ColumnEdit      = Program.MF.prtTurRepositoryItemLookUpEdit;
            colTAGS.ColumnEdit     = Program.MF.TAGselPRTrepositoryItemCheckedComboBoxEdit;
            colYONETICI.ColumnEdit = Program.MF.USRrepositoryItemCheckedComboBoxEdit;
            colSORUMLU.ColumnEdit  = Program.MF.USRrepositoryItemCheckedComboBoxEdit;
            //colAMAC.ColumnEdit = Program.MF.MemoExtRepositoryItemMemoExEdit;
            //colACIKLAMA.ColumnEdit = Program.MF.MemoExtRepositoryItemMemoExEdit;
            colEDITABLE.ColumnEdit = Program.MF.TFrepositoryItemCheckEdit;

            Program.MF.GridControlSettings(prtGridControl);

            GridFormatRule gridFormatRule = new GridFormatRule();
            FormatConditionRuleExpression formatConditionRuleExpression = new FormatConditionRuleExpression();

            gridFormatRule.Column     = colBKMS;
            gridFormatRule.ApplyToRow = true;
            formatConditionRuleExpression.PredefinedName = "Bold Text"; // "Red Fill, Red Text";
            formatConditionRuleExpression.Expression     = string.Format("Contains([BKMS], '{0}')", Program.USRtag);
            gridFormatRule.Rule = formatConditionRuleExpression;
            prtGridView.FormatRules.Add(gridFormatRule);


            prtTableAdapter.ClearBeforeFill = false;
        }
Пример #2
0
        /// <summary>
        /// 设定列表显示效果
        /// </summary>
        private void SetGridViewAppearance()
        {
            GridFormatRule gFRule1 = new GridFormatRule();
            FormatConditionRuleExpression fCondRuleExp1 = new FormatConditionRuleExpression();

            //gFRule1.Column = colPlanDays;
            gFRule1.ApplyToRow = true;
            fCondRuleExp1.Appearance.ForeColor = ZeroBelow;
            fCondRuleExp1.Expression           = "[PlanDays] < 0";
            gFRule1.Rule = fCondRuleExp1;
            gridViewOrderList.FormatRules.Add(gFRule1);

            GridFormatRule gFRule2 = new GridFormatRule();
            FormatConditionRuleExpression fCondRuleExp2 = new FormatConditionRuleExpression();

            //gFRule2.Column = colPlanDays;
            gFRule2.ApplyToRow = true;
            fCondRuleExp2.Appearance.ForeColor = NearZero;
            fCondRuleExp2.Expression           = string.Format("[PlanDays] <= {0} And [PlanDays] >= 0", SystemInfo.OrderNoWarehousing_Days);
            gFRule2.Rule = fCondRuleExp2;
            gridViewOrderList.FormatRules.Add(gFRule2);
        }
Пример #3
0
 private void InitializeGrid()
 {
     this.gridControl1.UseEmbeddedNavigator                = true;
     this.gridView1.OptionsView.ShowGroupPanel             = false;
     this.gridView1.OptionsView.NewItemRowPosition         = NewItemRowPosition.Top;
     this.gridView1.OptionsFilter.UseNewCustomFilterDialog = true;
     this.gridView1.OptionsView.ShowAutoFilterRow          = false;
     //this.gridView1.OptionsFind.AlwaysVisible = true;
     //this.gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.ShowAlways;
     this.gridView1.OptionsMenu.ShowConditionalFormattingItem = true;
     //this.gridView1.OptionsView.ShowPreview = true;
     {
         GridFormatRule gridFormatRule = new GridFormatRule( );
         FormatConditionRuleExpression formatConditionRuleExpression = new FormatConditionRuleExpression( );
         gridFormatRule.Column = this._colStagePathDir;
         //gridFormatRule.ColumnApplyTo = this._colStagePathDir;
         gridFormatRule.ApplyToRow = true;
         formatConditionRuleExpression.PredefinedName = "Yellow Fill, Yellow Text";
         formatConditionRuleExpression.Expression     = "[" + DataStore.StagePathDir_FldName + "] == '" + this.dsCfg.DefaultStgDirVal + "'";
         gridFormatRule.Rule = formatConditionRuleExpression;
         this.gridView1.FormatRules.Add(gridFormatRule);
     }
     this.Load += new System.EventHandler(this.XtraUserControl_Load);
 }
Пример #4
0
        private void FaturaXF_Load(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder();

            if (AFBid != 0)
            {
                sb.Append(string.Format("AFBid = {0}", AFBid));
            }
            else if (RefAfbID != 0)
            {
                sb.Append(string.Format("RefAfbID = {0}", RefAfbID));
            }
            else if (FRTid != 0)
            {
                sb.Append(string.Format("FRTid = {0}", FRTid));
            }
            else if (OPid != 0)
            {
                sb.Append(string.Format("OPid = {0}", OPid));
            }
            else
            {
                sb.Append(string.Format(" "));
            }

            this.afbTableAdapter.ClearBeforeFill = true;
            this.afbTableAdapter.Fill(this.accountDataSet.AFB, sb.ToString(), Program.USR);
            this.afbTableAdapter.ClearBeforeFill = false;

            Program.MF.GridControlSettings(afbGridControl);
            afbGridView.ShowingEditor += afbGridView_ShowingEditor;

            afbGridControl.ExternalRepository = Program.MF.mainPersistentRepository;
            colFRTID.ColumnEdit    = Program.MF.FRTrepositoryItemLookUpEdit;
            colDKNFRTID.ColumnEdit = Program.MF.FRTrepositoryItemLookUpEdit;
            colDKNDVZ.ColumnEdit   = Program.MF.DVTrepositoryItemLookUpEdit;
            colBDVZ.ColumnEdit     = Program.MF.DVTrepositoryItemLookUpEdit;
            colTUR.ColumnEdit      = Program.MF.afbTurRepositoryItemLookUpEdit;
            colTUR2.ColumnEdit     = Program.MF.afbTUR2repositoryItemImageComboBox;
            colTUR3.ColumnEdit     = Program.MF.afbTUR3repositoryItemImageComboBox;
            colTAGS.ColumnEdit     = Program.MF.TAGselAFBrepositoryItemCheckedComboBoxEdit;
            colHSPNO.ColumnEdit    = Program.MF.AHPHspAdNoRepositoryItemLookUpEdit;
            colDRM.ColumnEdit      = Program.MF.AFBdrmRepositoryItemImageComboBox;
            colEDITABLE.ColumnEdit = Program.MF.TFrepositoryItemCheckEdit;
            compBA.ColumnEdit      = Program.MF.BArepositoryItemImageComboBox;
            colEMLD.ColumnEdit     = Program.MF.TFrepositoryItemCheckEdit;

            Program.MF.DVTrepositoryItemLookUpEdit.Closed += DVTrepositoryItemLookUpEdit_Closed;

            Qry.qsvAfbXUC frm = new Qry.qsvAfbXUC();
            frm.AFB  = accountDataSet.AFB;
            frm.Dock = DockStyle.Fill;
            qsDockPanel.Controls.Add(frm);

            //afbGridView.FormatConditions[0].Expression = string.Format("Contains([BKMS], '{0}')", Program.USRtag);

            GridFormatRule gridFormatRule = new GridFormatRule();
            FormatConditionRuleExpression formatConditionRuleExpression = new FormatConditionRuleExpression();

            gridFormatRule.Column     = colBKMS;
            gridFormatRule.ApplyToRow = true;
            formatConditionRuleExpression.PredefinedName = "Bold Text"; // "Red Fill, Red Text";
            formatConditionRuleExpression.Expression     = string.Format("Contains([BKMS], '{0}')", Program.USRtag);
            gridFormatRule.Rule = formatConditionRuleExpression;
            afbGridView.FormatRules.Add(gridFormatRule);


            Program.MF.XGLrestore(layoutName, 0, afbGridView);
            afbGridView.OptionsBehavior.Editable = Program.MF.ModifyCheck("Account.FaturaXF", true);
        }
Пример #5
0
 public XtraForm2(BindingList <DataStore> list)
 {
     this.list = list;
     InitializeComponent( );
     {
         this.dataStoreTreeList.OptionsView.ShowSummaryFooter             = true;
         this.dataStoreTreeList.OptionsMenu.ShowConditionalFormattingItem = true;
         this.dataStoreTreeList.OptionsFind.AlwaysVisible = true;
         this.dataStoreTreeList.OptionsView.HeaderFilterButtonShowMode = DevExpress.XtraEditors.Controls.FilterButtonShowMode.Button;
         this.dataStoreTreeList.OptionsView.ShowAutoFilterRow          = true;
         this.dataStoreTreeList.OptionsView.ShowFilterPanelMode        = DevExpress.XtraTreeList.ShowFilterPanelMode.ShowAlways;
     }
     //
     this.dataStoreTreeList.DataSource = this.list;
     //
     //MainWindow.CustomersList customersList = new MainWindow.CustomersList( );
     //customersList.LoadCustomers( );
     //this.gridControl1.DataSource = customersList;
     //
     //MainWindow.MyVirtualTables o = new MainWindow.MyVirtualTables( );
     //o.MakeDataTables( );
     //System.Data.DataTable dataTable = o.dataSet.Tables[ "ParentTable" ];
     //this.gridControl1.DataSource = dataTable;
     //
     //MainWindow.MyVirtualTables o = new MainWindow.MyVirtualTables( );
     //System.Data.DataSet x = o.x( );
     //System.Data.DataTable dataTable = x.Tables[ "DSSS_01" ];
     //this.gridControl1.DataSource = dataTable;
     //
     MainWindow.MyVirtualTables o = new MainWindow.MyVirtualTables( );
     System.Data.DataSet        x = o.x( );
     this.gridControl1.DataSource = o.dv;
     //
     this.gridControl1.RefreshDataSource( );
     //
     {
         this.dataStoreTreeList.Columns["ValidStagePathDir"].Visible = false;
         this.dataStoreTreeList.Columns["ValidProviderName"].Visible = false;
         this.dataStoreTreeList.Columns["ProviderName"].Visible      = false;
     }
     {
         TreeListFormatRule         fr         = new TreeListFormatRule( );
         FormatConditionRuleDataBar fcrDataBar = new FormatConditionRuleDataBar( );
         fr.Column = this.dataStoreTreeList.Columns["AqbCounter"];
         fcrDataBar.PredefinedName = "Orange Bar";
         fr.Rule = fcrDataBar;
         this.dataStoreTreeList.FormatRules.Add(fr);
     }
     {
         TreeListFormatRule         fr         = new TreeListFormatRule( );
         FormatConditionRuleDataBar fcrDataBar = new FormatConditionRuleDataBar( );
         fr.Column = this.dataStoreTreeList.Columns["MdiCounter"];
         fcrDataBar.PredefinedName = "Blue Bar";
         fr.Rule = fcrDataBar;
         this.dataStoreTreeList.FormatRules.Add(fr);
     }
     {
         TreeListFormatRule            fr            = new TreeListFormatRule( );
         FormatConditionRuleExpression fcrExpression = new FormatConditionRuleExpression( );
         fr.Column     = this.dataStoreTreeList.Columns["StagePathDir"];
         fr.ApplyToRow = false;
         fcrExpression.PredefinedName = "Red Fill, Red Text";
         fcrExpression.Expression     = "![ValidStagePathDir]";
         fr.Rule = fcrExpression;
         this.dataStoreTreeList.FormatRules.Add(fr);
     }
     {
         TreeListFormatRule            fr            = new TreeListFormatRule( );
         FormatConditionRuleExpression fcrExpression = new FormatConditionRuleExpression( );
         fr.Column     = this.dataStoreTreeList.Columns["ConnectionStringName"];
         fr.ApplyToRow = false;
         fcrExpression.PredefinedName = "Red Fill, Red Text";
         fcrExpression.Expression     = "![ValidProviderName]";
         fr.Rule = fcrExpression;
         this.dataStoreTreeList.FormatRules.Add(fr);
     }
 }
Пример #6
0
        public MessageXuc()
        {
            this.InitializeComponent( );
            this.gridControl1.DataSource = this.ds;
            this.gridControl1.DataMember = INFO_TABLENAME;
            {
                ((System.ComponentModel.ISupportInitialize)(this.gridControl1)).BeginInit( );
                {
                    {
                        GridColumn gc = this.gridView1.Columns[TIMESTAMP_COLUMNNAME];
                        gc.DisplayFormat.FormatString = "yyyy/MM/dd-HH:mm:ss,fffffffzzz";
                        gc.DisplayFormat.FormatType   = DevExpress.Utils.FormatType.DateTime;
                        gc.SortMode  = DevExpress.XtraGrid.ColumnSortMode.Value;
                        gc.MaxWidth  = gc.MinWidth = gc.Width = 220;
                        gc.SortMode  = ColumnSortMode.DisplayText;
                        gc.SortOrder = DevExpress.Data.ColumnSortOrder.Descending;
                    }
                    {
                        GridColumn gc = this.gridView1.Columns[CODE_COLUMNNAME];
                        gc.MaxWidth = gc.MinWidth = gc.Width = 60;
                    }
                    {
                        GridColumn gc = this.gridView1.Columns[TYPE_COLUMNNAME];
                        gc.MaxWidth = gc.MinWidth = gc.Width = 50;
                    }
                    this.gridView1.BestFitColumns(true);
                }
                ((System.ComponentModel.ISupportInitialize)(this.gridControl1)).EndInit( );
            }
            {
                this.gridControl1.UseEmbeddedNavigator                = true;
                this.gridView1.OptionsBehavior.ReadOnly               = true;
                this.gridView1.OptionsView.ShowGroupPanel             = false;
                this.gridView1.OptionsView.NewItemRowPosition         = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.None;
                this.gridView1.OptionsFilter.UseNewCustomFilterDialog = true;
                this.gridView1.OptionsView.ShowAutoFilterRow          = false;
//            this.gridView1.OptionsFind.AlwaysVisible = true;
//            this.gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.ShowAlways;
                this.gridView1.OptionsMenu.ShowConditionalFormattingItem = true;
                //
                this.typeGridCol = this.gridView1.Columns[TYPE_COLUMNNAME];
                //
                {
                    GridFormatRule gridFormatRule = new GridFormatRule( );
                    FormatConditionRuleExpression formatConditionRuleExpression = new FormatConditionRuleExpression( );
                    gridFormatRule.Column = this.typeGridCol;
                    //gridFormatRule.ColumnApplyTo = this._colStagePathDir;
                    gridFormatRule.ApplyToRow = true;
                    formatConditionRuleExpression.PredefinedName = "Red Fill, Red Text";
                    formatConditionRuleExpression.Expression     = $"[{CODE_COLUMNNAME}] <= " + (int)MessageCode.Error;
                    gridFormatRule.Rule = formatConditionRuleExpression;
                    this.gridView1.FormatRules.Add(gridFormatRule);
                }
                {
                    GridFormatRule gridFormatRule = new GridFormatRule( );
                    FormatConditionRuleExpression formatConditionRuleExpression = new FormatConditionRuleExpression( );
                    gridFormatRule.Column = this.typeGridCol;
                    //gridFormatRule.ColumnApplyTo = this._colStagePathDir;
                    gridFormatRule.ApplyToRow = true;
                    formatConditionRuleExpression.PredefinedName = "Yellow Fill, Yellow Text";
                    formatConditionRuleExpression.Expression     = $"[{CODE_COLUMNNAME}] >= " + (int)MessageCode.Warn;
                    gridFormatRule.Rule = formatConditionRuleExpression;
                    this.gridView1.FormatRules.Add(gridFormatRule);
                }
            }
        }
Пример #7
0
        void StockWorkspacesUC_Load(object sender, EventArgs e)
        {
            if (StockMarketView.defaultViewModel == null)
            {
                return;
            }
            StockMarketView.defaultViewModel.CurrentPriceIndexChanged += defaultViewModel_CurrentPriceIndexChanged;
            StockMarketView.defaultViewModel.PropertyChanged          += defaultViewModel_PropertyChanged;
            //watchList
            watchListGridView.OptionsBehavior.AutoPopulateColumns         = false;
            watchListGridView.OptionsBehavior.CacheValuesOnRowUpdating    = CacheRowValuesMode.Disabled;
            watchListGrid.MainView.DataController.AllowIEnumerableDetails = false;
            watchListGridView.FocusRectStyle = XtraGrid.Views.Grid.DrawFocusRectStyle.None;
            watchListGrid.DataSource         = StockMarketView.defaultViewModel.WatchListBindingData;
            GridColumn col = watchListGridView.Columns.Add();

            col.FieldName = "CompanyName";
            col.Caption   = "Symbol";
            col.Visible   = true;
            col           = watchListGridView.Columns.Add();
            col.FieldName = "Price";
            col.Caption   = "Last Price";

            //col.ColumnEdit = new ArrowButtonRepositoryItem();
            col.DisplayFormat.FormatType   = FormatType.Numeric;
            col.DisplayFormat.FormatString = "c";
            col.Visible   = true;
            col           = watchListGridView.Columns.Add();
            col.FieldName = "Volume";
            col.DisplayFormat.FormatType   = FormatType.Numeric;
            col.DisplayFormat.FormatString = "n0";
            col.Visible   = true;
            col           = watchListGridView.Columns.Add();
            col.FieldName = "Volume Dynamics";
            RepositoryItemSparklineEdit rise = new RepositoryItemSparklineEdit();

            col.ColumnEdit  = rise;
            col.UnboundType = Data.UnboundColumnType.Object;
            AreaSparklineView view = new AreaSparklineView();

            view.HighlightMaxPoint = true;
            view.HighlightMinPoint = true;
            rise.View   = view;
            col.Visible = true;


            col           = watchListGridView.Columns.Add();
            col.FieldName = "Rise";
            col.Name      = "Rise";
            col.Visible   = false;

            //col = watchListGridView.Columns.Add();
            //col.FieldName = "TotalRise";
            //col.Name = "TotalRise";
            //col.Visible = false;


            //FormatConditionRuleIconSet val = new FormatConditionIconSetPositiveNegativeTriangles() { RangeDescription = "0, >0" };

            //watchListGridView.FormatRules.Add(new GridFormatRule() { Rule =   val, Column = watchListGridView.Columns["Rise"], ColumnApplyTo=watchListGridView.Columns[1]});
            var rule = watchListGridView.FormatRules.AddIconSetRule(watchListGridView.Columns["Rise"], new FormatConditionIconSetPositiveNegativeTriangles()
            {
                RangeDescription = "<0, 0, >0"
            });

            rule.ColumnApplyTo = watchListGridView.Columns[1];
            rule.Enabled       = true;


            watchListGridView.BestFitColumns();
            watchListGridView.FocusedRowChanged += new XtraGrid.Views.Base.FocusedRowChangedEventHandler(watchListGridView_FocusedRowChanged);
            //watchListGridView.CustomDrawCell += watchListGridView_CustomDrawCell;
            watchListGridView.CustomUnboundColumnData += watchListGridView_CustomUnboundColumnData;

            //chart
            stockChartUC.stockChart.Series["Price"].DataSource         = StockMarketView.defaultViewModel.StockChartBindingData;
            stockChartUC.stockChart.Series["Price"].ArgumentDataMember = "Date";
            stockChartUC.stockChart.Series["Price"].ValueDataMembers.AddRange(new string[] { "Low", "High", "Open", "Close" });

            stockChartUC.stockChart.Series["Volume"].DataSource         = StockMarketView.defaultViewModel.StockChartBindingData;
            stockChartUC.stockChart.Series["Volume"].ArgumentDataMember = "Date";
            stockChartUC.stockChart.Series["Volume"].ValueDataMembers.AddRange(new string[] { "Volume" });
            //volumeChart
            volumeChart.Series[0].DataSource          = StockMarketView.defaultViewModel.VolumeChartBindingData;
            volumeChart.Series[0].ArgumentDataMember  = "CompanyName";
            volumeChart.Series[0].ToolTipPointPattern = "Argument: {A}&#x0a;Value: {V}";
            volumeChart.Series[0].ValueDataMembers.AddRange(new string[] { "Volume" });

            //transationsGrid
            transactionGridView.OptionsBehavior.AutoPopulateColumns = false;
            transactionGrid.DataSource = StockMarketView.defaultViewModel.TransactionGridBindingData;
            var fceAsk = new FormatConditionRuleExpression()
            {
                Expression = "Ask > 0", PredefinedName = "Red Fill"
            };

            transactionGridView.FormatRules.AddRule(new GridFormatRule()
            {
                ApplyToRow = true, Rule = fceAsk
            });

            var fceBid = new FormatConditionRuleExpression()
            {
                Expression = "Bid > 0", PredefinedName = "Green Fill"
            };

            transactionGridView.FormatRules.AddRule(new GridFormatRule()
            {
                ApplyToRow = true, Rule = fceBid
            });

            StockMarketView.defaultViewModel.WatchListChanged += defaultViewModel_WatchListChanged;

            helpBarItemButton.ImageOptions.SvgImage  = SvgResources.GetSvgImage("Help");
            bbiSwatches.ImageOptions.SvgImage        = SvgResources.GetSvgImage("Swatches");
            bsiConnectedStatus.ImageOptions.SvgImage = SvgResources.GetSvgImage("Connected");
        }
        public static void LoadGridData(GridView viewTable, GridData data)
        {
            using (new UsingProcessor(() => viewTable.BeginUpdate(), () => viewTable.EndUpdate()))
            {
                viewTable.GridControl.ForceInitialize();

                if (data.Parameters != null)
                {
                    var gridProperties = new GridProperties((GridView)viewTable);
                    gridProperties.ApplyParameters(data.Parameters);
                }

                if (data.ColumnOrder != null && data.ColumnOrder.Count > 0)
                {
                    var  visibleColumns = new List <GridColumn>();
                    bool hasSummaries   = false;

                    int i = 0;
                    foreach (var field in data.ColumnOrder)
                    {
                        if (string.IsNullOrWhiteSpace(field.ColumnName))
                        {
                            continue;
                        }

                        var column = viewTable.Columns.ColumnByFieldName(field.ColumnName);
                        if (column != null)
                        {
                            column.Visible      = true;
                            column.VisibleIndex = i++;
                            visibleColumns.Add(column);

                            column.Summary.Clear();
                            if (!string.IsNullOrWhiteSpace(field.Summary))
                            {
                                var summaries = Utils.SplitString(field.Summary, ',');
                                foreach (var summary in summaries)
                                {
                                    if (Enum.TryParse <SummaryItemType>(summary, out SummaryItemType summaryType))
                                    {
                                        column.Summary.Add(summaryType);
                                        hasSummaries = true;
                                    }
                                }
                            }
                        }
                    }
                    if (hasSummaries)
                    {
                        viewTable.OptionsView.ShowFooter = true;
                    }
                }

                using (new UsingProcessor(() => viewTable.BeginSort(), () => viewTable.EndSort()))
                {
                    viewTable.ClearGrouping();
                    viewTable.ClearSorting();

                    var sortInfos        = new List <GridColumnSortInfo>();
                    int groupColumnCount = 0;

                    if (data.GroupBy != null && data.GroupBy.Count > 0)
                    {
                        foreach (var group in data.GroupBy)
                        {
                            if (string.IsNullOrWhiteSpace(group.ColumnName))
                            {
                                continue;
                            }

                            var sortAscending = true;
                            var colName       = group.ColumnName;
                            if (string.Compare(group.SortOrder, "desc", true) == 0)
                            {
                                sortAscending = false;
                            }

                            var column = viewTable.Columns.ColumnByFieldName(colName);
                            if (column != null)
                            {
                                var colSortInfo = new GridColumnSortInfo(column, sortAscending ? ColumnSortOrder.Ascending : ColumnSortOrder.Descending);
                                sortInfos.Add(colSortInfo);
                                groupColumnCount++;
                            }
                        }
                    }

                    if (data.OrderBy != null && data.OrderBy.Count > 0)
                    {
                        foreach (var orderBy in data.OrderBy)
                        {
                            if (string.IsNullOrWhiteSpace(orderBy.ColumnName))
                            {
                                continue;
                            }

                            var sortAscending = true;
                            var colName       = orderBy.ColumnName;
                            if (string.Compare(orderBy.SortOrder, "desc", true) == 0)
                            {
                                sortAscending = false;
                            }

                            var column = viewTable.Columns.ColumnByFieldName(colName);
                            if (column != null)
                            {
                                var colSortInfo = new GridColumnSortInfo(column, sortAscending ? ColumnSortOrder.Ascending : ColumnSortOrder.Descending);
                                sortInfos.Add(colSortInfo);
                            }
                        }
                    }

                    viewTable.SortInfo.ClearAndAddRange(sortInfos.ToArray(), groupColumnCount);
                }

                if (data.FormatConditions != null && data.FormatConditions.Count > 0)
                {
                    viewTable.FormatConditions.Clear();

                    foreach (var formatCondition in data.FormatConditions)
                    {
                        GridColumn column = null, targetColumn = null;
                        if (!string.IsNullOrWhiteSpace(formatCondition.ColumnName))
                        {
                            column = viewTable.Columns.ColumnByFieldName(formatCondition.ColumnName);
                        }
                        if (!string.IsNullOrWhiteSpace(formatCondition.TargetColumn))
                        {
                            targetColumn = viewTable.Columns.ColumnByFieldName(formatCondition.TargetColumn);
                        }


                        var formatRule = Utils.NonNullString(formatCondition.FormatRule).ToLower();
                        switch (formatRule)
                        {
                        case "expression":
                            var expression = formatCondition.Expression;
                            if (!string.IsNullOrWhiteSpace(expression))
                            {
                                var formatExpression = new FormatConditionRuleExpression()
                                {
                                    Expression = expression
                                };

                                var ruleExpression = new GridFormatRule
                                {
                                    Column        = column,
                                    ColumnApplyTo = targetColumn,
                                    ApplyToRow    = (column == null) || formatCondition.ApplyToRow,
                                    Rule          = formatExpression
                                };
                                ApplyFormatting(formatExpression, formatCondition);

                                viewTable.FormatRules.Add(ruleExpression);
                            }
                            break;

                        case "databar":
                            if (column != null)
                            {
                                var ruleDataBar = new GridFormatRule()
                                {
                                    Column        = column,
                                    ColumnApplyTo = targetColumn,
                                    ApplyToRow    = formatCondition.ApplyToRow
                                };

                                var formatDataBar = new FormatConditionRuleDataBar();

                                if (string.IsNullOrWhiteSpace(formatCondition.BackColor))
                                {
                                    formatCondition.BackColor = formatCondition.DataBar;
                                }

                                if (!string.IsNullOrWhiteSpace(formatCondition.AppearanceName))
                                {
                                    formatDataBar.PredefinedName = formatCondition.AppearanceName;
                                }
                                else
                                {
                                    ApplyAppearance(formatDataBar.Appearance, formatCondition);
                                }

                                ruleDataBar.Rule = formatDataBar;

                                viewTable.FormatRules.Add(ruleDataBar);
                            }
                            break;

                        case "iconset":
                            if (column != null)
                            {
                                if (!Enum.TryParse(formatCondition.IconSet, out IconSetType iconSetType))
                                {
                                    iconSetType = IconSetType.Arrows5;
                                }

                                var ruleIconSet = new GridFormatRule()
                                {
                                    Column        = column,
                                    ColumnApplyTo = targetColumn,
                                    ApplyToRow    = formatCondition.ApplyToRow
                                };

                                var formatIconSet = new FormatConditionRuleIconSet()
                                {
                                    IconSet = GetPredefinedIconSet(iconSetType)
                                };

                                ruleIconSet.Rule = formatIconSet;

                                viewTable.FormatRules.Add(ruleIconSet);
                            }
                            break;

                        case "colorscale":
                            if (column != null)
                            {
                                string colorScale = formatCondition.ColorScale;
                                if (string.IsNullOrWhiteSpace(colorScale))
                                {
                                    colorScale = "White,Red";
                                }

                                if (!string.IsNullOrWhiteSpace(colorScale))
                                {
                                    var scales = colorScale.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                                    if (scales != null && scales.Length == 2)
                                    {
                                        var ruleColorScale2 = new GridFormatRule()
                                        {
                                            Column        = column,
                                            ColumnApplyTo = targetColumn,
                                            ApplyToRow    = formatCondition.ApplyToRow
                                        };

                                        var formatColorScale2 = new FormatConditionRule2ColorScale
                                        {
                                            MinimumColor = ColorExtensions.FromHtmlColor(scales[0], Color.White),
                                            MaximumColor = ColorExtensions.FromHtmlColor(scales[1], Color.Black)
                                        };

                                        ruleColorScale2.Rule = formatColorScale2;

                                        viewTable.FormatRules.Add(ruleColorScale2);
                                    }
                                    else if (scales != null && scales.Length >= 3)     //Use first 3 colors if more are specified
                                    {
                                        var ruleColorScale3 = new GridFormatRule()
                                        {
                                            Column        = column,
                                            ColumnApplyTo = targetColumn,
                                            ApplyToRow    = formatCondition.ApplyToRow
                                        };

                                        var formatColorScale3 = new FormatConditionRule3ColorScale
                                        {
                                            MinimumColor = ColorExtensions.FromHtmlColor(scales[0], Color.White),
                                            MiddleColor  = ColorExtensions.FromHtmlColor(scales[1], Color.Gray),
                                            MaximumColor = ColorExtensions.FromHtmlColor(scales[2], Color.Black)
                                        };

                                        ruleColorScale3.Rule = formatColorScale3;

                                        viewTable.FormatRules.Add(ruleColorScale3);
                                    }
                                }
                            }
                            break;

                        case "aboveaverage":
                            if (column != null)
                            {
                                var ruleAboveAverage = new GridFormatRule()
                                {
                                    Column        = column,
                                    ColumnApplyTo = targetColumn,
                                    ApplyToRow    = formatCondition.ApplyToRow
                                };

                                var formatAboveAverage = new FormatConditionRuleAboveBelowAverage()
                                {
                                    AverageType = FormatConditionAboveBelowType.Above
                                };
                                ApplyFormatting(formatAboveAverage, formatCondition);

                                ruleAboveAverage.Rule = formatAboveAverage;

                                viewTable.FormatRules.Add(ruleAboveAverage);
                            }
                            break;

                        case "belowaverage":
                            if (column != null)
                            {
                                var ruleBelowAverage = new GridFormatRule()
                                {
                                    Column        = column,
                                    ColumnApplyTo = targetColumn,
                                    ApplyToRow    = formatCondition.ApplyToRow
                                };

                                var formatBelowAverage = new FormatConditionRuleAboveBelowAverage()
                                {
                                    AverageType = FormatConditionAboveBelowType.Below
                                };
                                ApplyFormatting(formatBelowAverage, formatCondition);

                                ruleBelowAverage.Rule = formatBelowAverage;

                                viewTable.FormatRules.Add(ruleBelowAverage);
                            }
                            break;

                        case "aboveorequalaverage":
                            if (column != null)
                            {
                                var ruleAboveAverage = new GridFormatRule()
                                {
                                    Column        = column,
                                    ColumnApplyTo = targetColumn,
                                    ApplyToRow    = formatCondition.ApplyToRow
                                };

                                var formatAboveAverage = new FormatConditionRuleAboveBelowAverage()
                                {
                                    AverageType = FormatConditionAboveBelowType.EqualOrAbove
                                };
                                ApplyFormatting(formatAboveAverage, formatCondition);

                                ruleAboveAverage.Rule = formatAboveAverage;

                                viewTable.FormatRules.Add(ruleAboveAverage);
                            }
                            break;

                        case "beloworequalaverage":
                            if (column != null)
                            {
                                var ruleBelowAverage = new GridFormatRule()
                                {
                                    Column        = column,
                                    ColumnApplyTo = targetColumn,
                                    ApplyToRow    = formatCondition.ApplyToRow
                                };

                                var formatBelowAverage = new FormatConditionRuleAboveBelowAverage()
                                {
                                    AverageType = FormatConditionAboveBelowType.EqualOrBelow
                                };
                                ApplyFormatting(formatBelowAverage, formatCondition);

                                ruleBelowAverage.Rule = formatBelowAverage;

                                viewTable.FormatRules.Add(ruleBelowAverage);
                            }
                            break;

                        case "unique":
                            if (column != null)
                            {
                                var ruleUnique = new GridFormatRule()
                                {
                                    Column        = column,
                                    ColumnApplyTo = targetColumn,
                                    ApplyToRow    = formatCondition.ApplyToRow
                                };

                                var formatUnique = new FormatConditionRuleUniqueDuplicate()
                                {
                                    FormatType = FormatConditionUniqueDuplicateType.Unique
                                };
                                ApplyFormatting(formatUnique, formatCondition);

                                ruleUnique.Rule = formatUnique;

                                viewTable.FormatRules.Add(ruleUnique);
                            }
                            break;

                        case "duplicate":
                            if (column != null)
                            {
                                var ruleDuplicate = new GridFormatRule()
                                {
                                    Column        = column,
                                    ColumnApplyTo = targetColumn,
                                    ApplyToRow    = formatCondition.ApplyToRow
                                };

                                var formatDuplicate = new FormatConditionRuleUniqueDuplicate()
                                {
                                    FormatType = FormatConditionUniqueDuplicateType.Unique
                                };
                                ApplyFormatting(formatDuplicate, formatCondition);

                                ruleDuplicate.Rule = formatDuplicate;

                                viewTable.FormatRules.Add(ruleDuplicate);
                            }
                            break;

                        case "top":
                            if (column != null)
                            {
                                var rankTop      = formatCondition.Rank;
                                var isPercent    = !string.IsNullOrWhiteSpace(rankTop) && rankTop.EndsWith("%");
                                var strRankTop   = isPercent ? rankTop[0..^ 1].TrimEnd() : rankTop;
Пример #9
0
        private void Init()
        {
            GridFormatRule gridFormatRule = new GridFormatRule();

            FormatConditionRuleExpression formatConditionRuleExpression = new FormatConditionRuleExpression();

            gridFormatRule.Column = this.gridView1.Columns["cftype"];
            // gridFormatRule.ApplyToRow = true;
            formatConditionRuleExpression.Appearance.BackColor = Color.LightGreen;
            formatConditionRuleExpression.Expression           = "[cftype]='儿科'";
            gridFormatRule.Rule = formatConditionRuleExpression;
            gridView1.FormatRules.Add(gridFormatRule);
            this.gridView1.CustomDrawCell += (a, b) =>
            {
                if (b.Column.FieldName == "cftype")
                {
                    string val = b.CellValue.ToString();
                    if (val == "精二")
                    {
                        b.Appearance.BackColor = Color.DarkRed;
                        b.Appearance.ForeColor = Color.White;
                        b.Appearance.Font      = new Font("宋体", 12, FontStyle.Bold);
                    }
                    else if (val == "儿科")
                    {
                        b.Appearance.BackColor = Color.Green;
                        b.Appearance.ForeColor = Color.White;
                        b.Appearance.Font      = new Font("宋体", 12, FontStyle.Bold);
                    }
                }
            };


            this.gridView3.FormatRules.AddDataBar(this.gridView3.Columns["TotalPrice"]);

            this.gridView1.MasterRowGetRelationCount += (x, y) =>
            {
                y.RelationCount = 1;
            };
            this.gridView1.MasterRowGetChildList += (sender, e) =>
            {
                GridView gv = sender as GridView;
                gv.DetailTabHeaderLocation = DevExpress.XtraTab.TabHeaderLocation.Top;

                string opertime = (gv.GetRow(e.RowHandle) as Cfhead).opertime;
                //string sqlstr = $"SELECT gid 组号,drug 药品名称,spci 规格,unitprice 单价,CONCAT('Sig:',yongliang,danwei,'  ',yongfa,'  ',cishu) 用法,Concat(round(quantity),unit) 数量  FROM cfdetail where opertime = '{opertime}'";
                //e.ChildList = SqlHelper.ExecuteTable(sqlstr).DefaultView;
                // DataTable dt = mvvmContext.GetViewModel<FyFormViewModel>().GetChild(opertime);
                e.ChildList = mvvmContext.GetViewModel <FyFormViewModel>().GetChild(opertime);
            };
            this.gridView1.MasterRowGetRelationName += (x, y) =>
            {
                y.RelationName = "处方明细";
            };
            this.gridView1.MasterRowGetLevelDefaultView += (x, y) =>
            {
                y.DefaultView = this.gridView2;
            };
            gridView1.IndicatorWidth = gridView3.IndicatorWidth = 25;
            this.gridView1.CustomDrawRowIndicator += (sender, e) =>
            {
                GridView view = (GridView)sender;
                //Check whether the indicator cell belongs to a data row
                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
                {
                    e.Info.DisplayText          = (e.RowHandle + 1).ToString();
                    e.Info.Appearance.BackColor = Color.Azure;
                    e.Info.Appearance.ForeColor = Color.Silver;
                    e.Info.Appearance.Font      = new Font("楷体", 12, FontStyle.Regular);
                }
            };
            this.gridView3.CustomDrawRowIndicator += (sender, e) =>
            {
                GridView view = (GridView)sender;
                //Check whether the indicator cell belongs to a data row
                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
                {
                    e.Info.DisplayText          = (e.RowHandle + 1).ToString();
                    e.Info.Appearance.BackColor = Color.Silver;
                    e.Info.Appearance.ForeColor = Color.Silver;
                    e.Info.Appearance.Font      = new Font("楷体", 12, FontStyle.Regular);
                }
            };
        }