public Form1()
        {
            InitializeComponent();
            Persons = new BindingList <Data>();
            for (int i = 0; i < Count; i++)
            {
                Persons.Add(new Data {
                    Id       = i,
                    Text     = "Text" + i,
                    Progress = GetNumber()
                });
            }


            RealTimeSource rts = new RealTimeSource()
            {
                DataSource = Persons
            };

            gridControl1.DataSource = rts;

            Timer timer = new Timer(components);

            timer.Interval = 10;
            timer.Tick    += Tick;
            timer.Start();

            RepositoryItemProgressBar item = new RepositoryItemProgressBar();

            gridControl1.RepositoryItems.Add(item);
            gridView1.Columns["Progress"].ColumnEdit = item;
        }
Пример #2
0
        void PrbInit()
        {
            prbLess25                   = new RepositoryItemProgressBar();
            prbLess25.StartColor        = Color.Red;
            prbLess25.EndColor          = Color.Red;
            prbLess25.ShowTitle         = true;
            prbLess25.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess25.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess25.LookAndFeel.UseDefaultLookAndFeel = false;

            prbLess50                   = new RepositoryItemProgressBar();
            prbLess50.StartColor        = Color.Orange;
            prbLess50.EndColor          = Color.Orange;
            prbLess50.ShowTitle         = true;
            prbLess50.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess50.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess50.LookAndFeel.UseDefaultLookAndFeel = false;

            prbLess75                   = new RepositoryItemProgressBar();
            prbLess75.StartColor        = Color.YellowGreen;
            prbLess75.EndColor          = Color.YellowGreen;
            prbLess75.ShowTitle         = true;
            prbLess75.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess75.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess75.LookAndFeel.UseDefaultLookAndFeel = false;

            prbLess100                   = new RepositoryItemProgressBar();
            prbLess100.StartColor        = Color.Green;
            prbLess100.EndColor          = Color.Green;
            prbLess100.ShowTitle         = true;
            prbLess100.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess100.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess100.LookAndFeel.UseDefaultLookAndFeel = false;
        }
Пример #3
0
        private void get_taches()
        {
            gridControl1.DataSource = null;
            gridView1.Columns.Clear();
            gridControl1.DataSource = fun.get_tache(projets.id_projet);
            RepositoryItemProgressBar progg = new RepositoryItemProgressBar();

            gridControl1.RepositoryItems.Add(progg);

            gridView1.Columns["avance"].ColumnEdit = progg;
            progg.Step        = 1;
            progg.PercentView = true;
            progg.Maximum     = 10;
            progg.Minimum     = 0;
            progg.ShowTitle   = true;

            this.gridView1.Columns[0].Visible  = false;
            this.gridView1.Columns[1].Caption  = "Tâche";
            this.gridView1.Columns[2].Caption  = "Description";
            this.gridView1.Columns[3].Caption  = "Personne(s) chargée(s)";
            this.gridView1.Columns[4].Caption  = "Date Debut";
            this.gridView1.Columns[5].Visible  = false;
            this.gridView1.Columns[6].Caption  = "Date Fin";
            this.gridView1.Columns[7].Visible  = false;
            this.gridView1.Columns[8].Visible  = false;
            this.gridView1.Columns[9].Caption  = "Etat";
            this.gridView1.Columns[10].Visible = false;
            this.gridView1.Columns[11].Caption = "Avancement";

            //gridView5.Columns[4].AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            //gridView5.Columns[6].AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
        }
Пример #4
0
        void PrbInit()
        {
            prbLess0                   = new RepositoryItemProgressBar();
            prbLess0.StartColor        = Color.Black;
            prbLess0.EndColor          = Color.Black;
            prbLess0.ShowTitle         = true;
            prbLess0.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess0.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess0.LookAndFeel.UseDefaultLookAndFeel = false;

            prbLess68                   = new RepositoryItemProgressBar();
            prbLess68.StartColor        = Color.Red;
            prbLess68.EndColor          = Color.Red;
            prbLess68.ShowTitle         = true;
            prbLess68.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess68.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess68.LookAndFeel.UseDefaultLookAndFeel = false;

            prbLess72                   = new RepositoryItemProgressBar();
            prbLess72.StartColor        = Color.Green;
            prbLess72.EndColor          = Color.Green;
            prbLess72.ShowTitle         = true;
            prbLess72.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess72.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess72.LookAndFeel.UseDefaultLookAndFeel = false;

            prbLess70                   = new RepositoryItemProgressBar();
            prbLess70.StartColor        = Color.Yellow;
            prbLess70.EndColor          = Color.Yellow;
            prbLess70.ShowTitle         = true;
            prbLess70.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess70.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess70.LookAndFeel.UseDefaultLookAndFeel = false;
        }
        public BarItem MapFrom(StatusBarElement element)
        {
            switch (element.ElementType)
            {
            case StatusBarElementType.Text:
                var barStaticItem = new BarStaticItem();
                barStaticItem.AutoSize      = mapFrom(element.AutoSize);
                barStaticItem.Alignment     = mapFrom(element.Alignment);
                barStaticItem.Width         = element.Width;
                barStaticItem.TextAlignment = element.TextAlignment;
                barStaticItem.Appearance.TextOptions.HotkeyPrefix = HKeyPrefix.None;
                return(barStaticItem);

            case StatusBarElementType.ProgressBar:
                var repositoryItemProgressBar = new RepositoryItemProgressBar {
                    Minimum = 0, Maximum = 100
                };
                var barEditItem = new BarEditItem {
                    Edit = repositoryItemProgressBar
                };
                barEditItem.Width     = element.Width;
                barEditItem.Alignment = mapFrom(element.Alignment);
                return(barEditItem);

            default:
                throw new ArgumentOutOfRangeException("element");
            }
        }
Пример #6
0
        private RepositoryItem MyBarRepository(IAnInterface arg)
        {
            var repositoryItem = new RepositoryItemProgressBar();

            repositoryItem.Minimum = 0;
            repositoryItem.Maximum = 100;
            return(repositoryItem);
        }
Пример #7
0
 private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
 {
     if (e.Column.FieldName.Equals("Progress"))
     {
         RepositoryItemProgressBar riPb = e.RepositoryItem as RepositoryItemProgressBar;
         riPb.Step    = 1;
         riPb.Maximum = (int)GetTaskByID(new Guid(gridView1.GetRowCellValue(e.RowHandle, "ID").ToString())).Size;
     }
 }
Пример #8
0
 private void initRepositories()
 {
     _repositoryForStandardParameter = new RepositoryItemTextEdit();
     _progressBarRepository          = new RepositoryItemProgressBar {
         Minimum = 0, Maximum = 100, PercentView = true, ShowTitle = true
     };
     _repositoryForStandardParameter.ReadOnly           = true;
     _repositoryForStandardParameter.Enabled            = false;
     _repositoryForStandardParameter.CustomDisplayText += (o, e) => { e.DisplayText = string.Empty; };
 }
Пример #9
0
        public RepositoryItemProgressBar GetRepositoryItemProgressBar(int minimum, int maximum, Color start, Color end, FormatType formatType, string formatString)
        {
            var item = new RepositoryItemProgressBar()
            {
                ProgressViewStyle = ProgressViewStyle.Solid,
                ShowTitle         = true,
                PercentView       = false,
                Minimum           = minimum,
                Maximum           = maximum,
                StartColor        = start,
                EndColor          = end
            };

            item.DisplayFormat.FormatType          = formatType;
            item.DisplayFormat.FormatString        = formatString;
            item.LookAndFeel.UseDefaultLookAndFeel = false;
            item.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            return(item);
        }
Пример #10
0
        ///////////////////////////////////////////////////////////////////////////////////////////////
        // Method(Private)
        ///////////////////////////////////////////////////////////////////////////////////////////////

        #region :: SetColumnDataType :: Column의 DataType을 정의합니다.

        /// <summary>
        /// Column의 DataType을 정의합니다.
        /// </summary>
        /// <param name="gridField">Column Field 명</param>
        /// <param name="dataType">Column Data Type</param>
        /// <param name="decimalPlace">소숫점 길이 수, 기본값 0</param>
        /// <remarks>
        /// 2008-12-17 최초생성 : 황준혁
        /// 변경내역
        ///
        /// </remarks>
        private void SetColumnDataType(PivotGridField gridField, ColumnDataType dataType, int decimalPlace)
        {
            if (dataType == ColumnDataType.Numeric)
            {
                RepositoryItemTextEdit edit = new RepositoryItemTextEdit();

                edit.Appearance.Font             = ControlConfig.DEFAULTFONT;
                edit.Mask.MaskType               = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                edit.Mask.EditMask               = "n" + decimalPlace;
                edit.Mask.UseMaskAsDisplayFormat = true;
                gridField.FieldEdit              = edit;
            }
            else if (dataType == ColumnDataType.Decimal)
            {
                RepositoryItemTextEdit edit = new RepositoryItemTextEdit();

                edit.Appearance.Font             = ControlConfig.DEFAULTFONT;
                edit.Mask.EditMask               = "n" + decimalPlace;
                edit.Mask.MaskType               = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                edit.Mask.UseMaskAsDisplayFormat = true;
                gridField.FieldEdit              = edit;
            }
            else if (dataType == ColumnDataType.Currency)
            {
                RepositoryItemTextEdit edit = new RepositoryItemTextEdit();

                edit.Appearance.Font             = ControlConfig.DEFAULTFONT;
                edit.Mask.EditMask               = "c" + decimalPlace;
                edit.Mask.MaskType               = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                edit.Mask.UseMaskAsDisplayFormat = true;
                gridField.FieldEdit              = edit;
            }
            else if (dataType == ColumnDataType.Progress)
            {
                RepositoryItemProgressBar edit = new RepositoryItemProgressBar();
                edit.Appearance.Font = ControlConfig.DEFAULTFONT;
                edit.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
                edit.ShowTitle      = true;
                edit.PercentView    = true;
                gridField.FieldEdit = edit;
            }
        }
Пример #11
0
        string m_MaxinumField;                 //进度条Maxinum取值字段

        #region  GridView单元格进度条
        /// <summary>
        /// GridView单元格显示进度条
        /// </summary>
        /// <param name="gridView">gridView</param>
        /// <param name="ProgressField">显示进度条的字段</param>
        /// <param name="MaxinumField">进度条Maxinum取值字段</param>
        public ShowProgress(GridView gridView, string ProgressField, string MaxinumField)
        {
            m_GridView      = gridView;
            m_ProgressField = ProgressField;
            m_MaxinumField  = MaxinumField;

            ProgressBar = new RepositoryItemProgressBar {
                Minimum = 0, Maximum = 100, ShowTitle = true, EndColor = Color.Red, PercentView = false
            };
            ProgressBar.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Style3D;                               //设置进度条格式

            gridView.GridControl.RepositoryItems.Add(ProgressBar);                                                         //为gridView增加控件ProgressBar
            gridView.Columns[ProgressField].ColumnEdit = ProgressBar;                                                      //将控件ProgressBar绑定到gridView列上

            gridView.Columns[ProgressField].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; //单元格文字居中显示

            gridView.CustomRowCellEdit       += new CustomRowCellEditEventHandler(gridView_CustomRowCellEdit);             //gridView事件
            gridView.CustomColumnDisplayText += new CustomColumnDisplayTextEventHandler(gridView_CustomColumnDisplayText); //gridView事件,设置单元格显示文字
            gridView.RowCellStyle            += new RowCellStyleEventHandler(gridView_RowCellStyle);
        }
Пример #12
0
 private void gridView2_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
 {
     if (e.Column.FieldName == "current_")
     {
         decimal total_profit = Math.Round(Convert.ToDecimal(gridView2.Columns["total_profit"].SummaryItem.SummaryValue.ToString()), 0);
         decimal profit       = Math.Round(Convert.ToDecimal(gridView2.GetRowCellValue(e.RowHandle, "total_profit").ToString()), 0);
         gridView2.SetRowCellValue(e.RowHandle, "current_", Math.Round((profit / total_profit) * 100, 2));
         RepositoryItemProgressBar rp = new RepositoryItemProgressBar();
         rp.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
         rp.ShowTitle         = true;
         rp.PercentView       = false;
         rp.Minimum           = 0;
         rp.PercentView       = true;
         rp.StartColor        = Color.DarkOrange;
         rp.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
         rp.LookAndFeel.UseDefaultLookAndFeel = false;
         rp.EndColor      = Color.DarkOrange;
         rp.Maximum       = 100;
         e.RepositoryItem = rp;
     }
 }
Пример #13
0
        private void get_projet()
        {
            gridControl5.DataSource = null;
            gridView5.Columns.Clear();
            gridControl5.DataSource = fun.get_projet(gestion_client.code_clt);


            RepositoryItemProgressBar progg = new RepositoryItemProgressBar();

            gridControl5.RepositoryItems.Add(progg);

            gridView5.Columns["av"].ColumnEdit = progg;
            progg.Step        = 1;
            progg.PercentView = true;
            progg.Maximum     = 10;
            progg.Minimum     = 0;
            progg.ShowTitle   = true;

            this.gridView5.Columns[0].Visible  = false;
            this.gridView5.Columns[1].Caption  = "Date de création";
            this.gridView5.Columns[2].Caption  = "Intitulé";
            this.gridView5.Columns[3].Visible  = false;
            this.gridView5.Columns[4].Visible  = false;
            this.gridView5.Columns[5].Caption  = "Faisabilité";
            this.gridView5.Columns[6].Caption  = "Commentaire";
            this.gridView5.Columns[7].Caption  = "Etat";
            this.gridView5.Columns[8].Visible  = false;
            this.gridView5.Columns[9].Visible  = false;
            this.gridView5.Columns[10].Visible = false;
            this.gridView5.Columns[11].Visible = false;
            this.gridView5.Columns[12].Visible = false;
            this.gridView5.Columns[13].Visible = false;
            this.gridView5.Columns[14].Visible = false;
            this.gridView5.Columns[15].Visible = false;
            this.gridView5.Columns[16].Visible = false;
            this.gridView5.Columns[17].Visible = false;
            this.gridView5.Columns[18].Caption = "Avancement";
            //gridView5.Columns[4].AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            //gridView5.Columns[6].AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
        }
Пример #14
0
        void PrbInit()
        {
            prbLess0                   = new RepositoryItemProgressBar();
            prbLess0.StartColor        = Color.Black;
            prbLess0.EndColor          = Color.Black;
            prbLess0.ShowTitle         = true;
            prbLess0.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess0.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess0.LookAndFeel.UseDefaultLookAndFeel = false;

            prbLess50                   = new RepositoryItemProgressBar();
            prbLess50.StartColor        = Color.Red;
            prbLess50.EndColor          = Color.Red;
            prbLess50.ShowTitle         = true;
            prbLess50.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess50.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess50.LookAndFeel.UseDefaultLookAndFeel = false;

            prbLess70                                   = new RepositoryItemProgressBar();
            prbLess70.StartColor                        = Color.Gold;
            prbLess70.EndColor                          = Color.Gold;
            prbLess70.Appearance.ForeColor              = Color.Blue;
            prbLess70.Appearance.ForeColor2             = Color.Blue;
            prbLess70.ShowTitle                         = true;
            prbLess70.ProgressViewStyle                 = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess70.LookAndFeel.Style                 = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess70.LookAndFeel.UseDefaultLookAndFeel = false;

            prbLess90                                   = new RepositoryItemProgressBar();
            prbLess90.StartColor                        = Color.Yellow;
            prbLess90.EndColor                          = Color.Yellow;
            prbLess90.Appearance.ForeColor              = Color.Black;
            prbLess90.Appearance.ForeColor2             = Color.Black;
            prbLess90.ShowTitle                         = true;
            prbLess90.ProgressViewStyle                 = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            prbLess90.LookAndFeel.Style                 = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;
            prbLess90.LookAndFeel.UseDefaultLookAndFeel = false;
        }
Пример #15
0
        private void ShowStauts(StatusInfo statusInfo)
        {
            this.ribbonStatusBar.ItemLinks.Clear();
            BarItem StatusBarItem = null;

            if (statusInfo != null)
            {
                switch (statusInfo.StatusShowType)
                {
                case StatusShowType.Msg:
                    StatusBarItem         = new DevExpress.XtraBars.BarStaticItem();
                    StatusBarItem.Caption = statusInfo.Message;
                    break;

                case StatusShowType.ProcessBar:
                    StatusBarItem = new BarEditItem();
                    RepositoryItemProgressBar progressBarControl = new RepositoryItemProgressBar();
                    progressBarControl.Maximum        = statusInfo.MaxValue;
                    progressBarControl.Minimum        = 0;
                    progressBarControl.Step           = statusInfo.CurrentValue;
                    ((BarEditItem)StatusBarItem).Edit = progressBarControl;
                    break;

                case StatusShowType.ProcessBarWithoutProcess:
                    StatusBarItem = new BarEditItem();
                    RepositoryItemMarqueeProgressBar marqueeProgressBar = new RepositoryItemMarqueeProgressBar();
                    ((BarEditItem)StatusBarItem).Edit = marqueeProgressBar;
                    break;
                }
            }
            if (StatusBarItem != null)
            {
                this.ribbonStatusBar.ItemLinks.Add(StatusBarItem);
            }
            this.ribbonStatusBar.Refresh();
        }
Пример #16
0
        private void SearchDataOrder()
        {
            DataRow row;

            _QTY           = 0;
            _RECEIVED      = 0;
            _TOTAL         = 0;
            _TOTALRECEIVED = 0;
            if (cbbOrder.SelectedIndex == 0)
            {
                receivedGridControl.DataSource = null;
                gbOrder.Height = 69;
                //progressBar1.Visible = false;
                gbCost.Visible = false;
            }
            else if (!_FIRST_LOAD)
            {
                //_QTY = 0;
                //_RECEIVED = 0;
                int i, a;
                _TABLE_RECEIVED = Util.DBQuery(string.Format(@"
                    SELECT DISTINCT p.sku,b.Product, p.Name, IFNULL(co.Count, 0) ProductCount, IFNULL(r.ReceivedCount, 0) ReceivedCount, IFNULL(b.cost * co.Count,0) Price, IFNULL(b.cost * r.ReceivedCount,0) PriceReceived,  c.name Category
                    FROM Barcode b
                        LEFT JOIN Product p
                            ON b.Product = p.Product
                            AND p.Shop = '{0}'
                        LEFT JOIN ( 
                                SELECT DISTINCT Product, COUNT(*) ReceivedCount 
                                FROM Barcode 
                                WHERE ReceivedDate IS NOT NULL 
                                AND OrderNo =  '{1}' 
                                GROUP BY Product
                        ) r
                            ON b.Product = r.Product
                        LEFT JOIN Category c
                            ON p.category = c.category
                        LEFT JOIN ( 
                                SELECT DISTINCT bb.Product, COUNT(*) Count 
                                FROM Barcode bb
                                WHERE bb.OrderNo =  '{1}' 
                                GROUP BY bb.Product
                        ) co
                        ON p.product = co.product
                    WHERE b.OrderNo = '{1}'
                    GROUP BY b.Product
                 ", Param.ShopId, cbbOrder.SelectedItem.ToString(), Param.UserId));

                receivedGridView.OptionsBehavior.AutoPopulateColumns = false;
                receivedGridControl.MainView = receivedGridView;

                dt = new DataTable();
                for (i = 0; i < ((ColumnView)receivedGridControl.MainView).Columns.Count; i++)
                {
                    dt.Columns.Add(receivedGridView.Columns[i].FieldName);
                }

                for (a = 0; a < _TABLE_RECEIVED.Rows.Count; a++)
                {
                    var progress = float.Parse(_TABLE_RECEIVED.Rows[a]["ReceivedCount"].ToString()) / float.Parse(_TABLE_RECEIVED.Rows[a]["ProductCount"].ToString()) * 100.0f;
                    row    = dt.NewRow();
                    row[0] = (a + 1) * 1;
                    row[1] = _TABLE_RECEIVED.Rows[a]["product"].ToString();
                    row[2] = _TABLE_RECEIVED.Rows[a]["Name"].ToString();
                    row[3] = _TABLE_RECEIVED.Rows[a]["Category"].ToString();
                    row[4] = Convert.ToInt32(_TABLE_RECEIVED.Rows[a]["ProductCount"]).ToString("#,##0");
                    row[5] = Convert.ToInt32(_TABLE_RECEIVED.Rows[a]["ReceivedCount"]).ToString("#,##0");
                    row[6] = (int)progress;
                    row[7] = _TABLE_RECEIVED.Rows[a]["Sku"].ToString();
                    row[8] = _TABLE_RECEIVED.Rows[a]["Price"].ToString();
                    row[9] = _TABLE_RECEIVED.Rows[a]["PriceReceived"].ToString();
                    dt.Rows.Add(row);
                    _QTY           += int.Parse(_TABLE_RECEIVED.Rows[a]["ProductCount"].ToString());
                    _RECEIVED      += int.Parse(_TABLE_RECEIVED.Rows[a]["ReceivedCount"].ToString());
                    _TOTAL         += int.Parse(_TABLE_RECEIVED.Rows[a]["Price"].ToString());
                    _TOTALRECEIVED += int.Parse(_TABLE_RECEIVED.Rows[a]["PriceReceived"].ToString());
                }

                RepositoryItemProgressBar ritem = new RepositoryItemProgressBar();
                ritem.Minimum   = 0;
                ritem.Maximum   = 100;
                ritem.ShowTitle = true;
                receivedGridControl.RepositoryItems.Add(ritem);
                receivedGridView.Columns["Progress"].ColumnEdit = ritem;

                receivedGridControl.DataSource = dt;

                if (_QTY == 0 || _RECEIVED == 0)
                {
                    gbOrderNo.Height            = 53;
                    progressBarControl1.Visible = false;
                    gbCost.Visible = false;
                }
                else if (_RECEIVED != 0)
                {
                    gbCost.Visible                         = true;
                    gbOrderNo.Height                       = 79;
                    progressBarControl1.Visible            = true;
                    progressBarControl1.Properties.Maximum = _QTY;
                    progressBarControl1.EditValue          = _RECEIVED;
                }

                lblListCount.Text = receivedGridView.RowCount.ToString("#,##0") + " รายการ";
                //if (receivedGridView.RowCount > 0)
                //{
                //    _NORECEIVED = _QTY - _RECEIVED;
                //    lblReceived.Text = _RECEIVED.ToString("#,##0") + " ชิ้น";
                //    lblNoReceived.Text = _NORECEIVED.ToString("#,##0") + " ชิ้น";
                //    lblProductCount.Text = _QTY.ToString("#,##0") + " ชิ้น";

                //    _NOSR = _TOTAL - _TOTALRECEIVED;
                //    lblTotal.Text = _TOTAL.ToString("#,##0") + " บาท";
                //    lblSRecieved.Text = _TOTALRECEIVED.ToString("#,##0") + " บาท";
                //    lblSNoReceived.Text = _NOSR.ToString("#,##0") + " บาท";
                //}
            }
            //if (receivedGridView.RowCount > 0)
            //{
            _NORECEIVED          = _QTY - _RECEIVED;
            lblReceived.Text     = _RECEIVED.ToString("#,##0") + " ชิ้น";
            lblNoReceived.Text   = _NORECEIVED.ToString("#,##0") + " ชิ้น";
            lblProductCount.Text = _QTY.ToString("#,##0") + " ชิ้น";

            _NOSR               = _TOTAL - _TOTALRECEIVED;
            lblTotal.Text       = _TOTAL.ToString("#,##0") + " บาท";
            lblSRecieved.Text   = _TOTALRECEIVED.ToString("#,##0") + " บาท";
            lblSNoReceived.Text = _NOSR.ToString("#,##0") + " บาท";
            //}
            txtBarcode.Focus();
        }
Пример #17
0
        private void SearchDataOrder()
        {
            DataRow row;
            _QTY = 0;
            _RECEIVED = 0;
            _TOTAL = 0;
            _TOTALRECEIVED = 0;
            if (cbbOrder.SelectedIndex == 0)
            {
                receivedGridControl.DataSource = null;
                gbOrder.Height = 69;
                //progressBar1.Visible = false;
                gbCost.Visible = false;
            }
            else if (!_FIRST_LOAD)
            {
                //_QTY = 0;
                //_RECEIVED = 0;
                int i, a;
                _TABLE_RECEIVED = Util.DBQuery(string.Format(@"
                    SELECT DISTINCT p.sku,b.Product, p.Name, IFNULL(co.Count, 0) ProductCount, IFNULL(r.ReceivedCount, 0) ReceivedCount, IFNULL(b.cost * co.Count,0) Price, IFNULL(b.cost * r.ReceivedCount,0) PriceReceived,  c.name Category
                    FROM Barcode b
                        LEFT JOIN Product p
                            ON b.Product = p.Product
                            AND p.Shop = '{0}'
                        LEFT JOIN ( 
                                SELECT DISTINCT Product, COUNT(*) ReceivedCount 
                                FROM Barcode 
                                WHERE ReceivedDate IS NOT NULL 
                                AND OrderNo =  '{1}' 
                                GROUP BY Product
                        ) r
                            ON b.Product = r.Product
                        LEFT JOIN Category c
                            ON p.category = c.category
                        LEFT JOIN ( 
                                SELECT DISTINCT bb.Product, COUNT(*) Count 
                                FROM Barcode bb
                                WHERE bb.OrderNo =  '{1}' 
                                GROUP BY bb.Product
                        ) co
                        ON p.product = co.product
                    WHERE b.OrderNo = '{1}'
                    GROUP BY b.Product
                 ", Param.ShopId, cbbOrder.SelectedItem.ToString(), Param.UserId));

                receivedGridView.OptionsBehavior.AutoPopulateColumns = false;
                receivedGridControl.MainView = receivedGridView;

                dt = new DataTable();
                for (i = 0; i < ((ColumnView)receivedGridControl.MainView).Columns.Count; i++)
                {
                    dt.Columns.Add(receivedGridView.Columns[i].FieldName);
                }

                for (a = 0; a < _TABLE_RECEIVED.Rows.Count; a++)
                {
                    var progress = float.Parse(_TABLE_RECEIVED.Rows[a]["ReceivedCount"].ToString()) / float.Parse(_TABLE_RECEIVED.Rows[a]["ProductCount"].ToString()) * 100.0f;
                    row = dt.NewRow();
                    row[0] = (a + 1) * 1;
                    row[1] = _TABLE_RECEIVED.Rows[a]["product"].ToString();
                    row[2] = _TABLE_RECEIVED.Rows[a]["Name"].ToString();
                    row[3] = _TABLE_RECEIVED.Rows[a]["Category"].ToString();
                    row[4] = Convert.ToInt32(_TABLE_RECEIVED.Rows[a]["ProductCount"]).ToString("#,##0");
                    row[5] = Convert.ToInt32(_TABLE_RECEIVED.Rows[a]["ReceivedCount"]).ToString("#,##0");
                    row[6] = (int)progress;
                    row[7] = _TABLE_RECEIVED.Rows[a]["Sku"].ToString();
                    row[8] = _TABLE_RECEIVED.Rows[a]["Price"].ToString();
                    row[9] = _TABLE_RECEIVED.Rows[a]["PriceReceived"].ToString();
                    dt.Rows.Add(row);
                    _QTY += int.Parse(_TABLE_RECEIVED.Rows[a]["ProductCount"].ToString());
                    _RECEIVED += int.Parse(_TABLE_RECEIVED.Rows[a]["ReceivedCount"].ToString());
                    _TOTAL += int.Parse(_TABLE_RECEIVED.Rows[a]["Price"].ToString());
                    _TOTALRECEIVED += int.Parse(_TABLE_RECEIVED.Rows[a]["PriceReceived"].ToString());
                }

                RepositoryItemProgressBar ritem = new RepositoryItemProgressBar();
                ritem.Minimum = 0;
                ritem.Maximum = 100;
                ritem.ShowTitle = true;
                receivedGridControl.RepositoryItems.Add(ritem);
                receivedGridView.Columns["Progress"].ColumnEdit = ritem;

                receivedGridControl.DataSource = dt;

                if (_QTY == 0 || _RECEIVED == 0)
                {
                    gbOrderNo.Height = 53;
                    progressBarControl1.Visible = false;
                    gbCost.Visible = false;
                }
                else if (_RECEIVED != 0)
                {
                    gbCost.Visible = true;
                    gbOrderNo.Height = 79;
                    progressBarControl1.Visible = true;
                    progressBarControl1.Properties.Maximum = _QTY;
                    progressBarControl1.EditValue = _RECEIVED;
                }

                lblListCount.Text = receivedGridView.RowCount.ToString("#,##0") + " รายการ";
                //if (receivedGridView.RowCount > 0)
                //{
                //    _NORECEIVED = _QTY - _RECEIVED;
                //    lblReceived.Text = _RECEIVED.ToString("#,##0") + " ชิ้น";
                //    lblNoReceived.Text = _NORECEIVED.ToString("#,##0") + " ชิ้น";
                //    lblProductCount.Text = _QTY.ToString("#,##0") + " ชิ้น";

                //    _NOSR = _TOTAL - _TOTALRECEIVED;
                //    lblTotal.Text = _TOTAL.ToString("#,##0") + " บาท";
                //    lblSRecieved.Text = _TOTALRECEIVED.ToString("#,##0") + " บาท";
                //    lblSNoReceived.Text = _NOSR.ToString("#,##0") + " บาท";
                //}
            }
            //if (receivedGridView.RowCount > 0)
            //{
                _NORECEIVED = _QTY - _RECEIVED;
                lblReceived.Text = _RECEIVED.ToString("#,##0") + " ชิ้น";
                lblNoReceived.Text = _NORECEIVED.ToString("#,##0") + " ชิ้น";
                lblProductCount.Text = _QTY.ToString("#,##0") + " ชิ้น";

                _NOSR = _TOTAL - _TOTALRECEIVED;
                lblTotal.Text = _TOTAL.ToString("#,##0") + " บาท";
                lblSRecieved.Text = _TOTALRECEIVED.ToString("#,##0") + " บาท";
                lblSNoReceived.Text = _NOSR.ToString("#,##0") + " บาท";
            //}
            txtBarcode.Focus();
        }
Пример #18
0
        private void SearchData()
        {
            DataTable dt;
            DataRow row;
            int i, a;
            if (!_FIRST_LOAD)
            {
                progressBarControl1.EditValue = 0;
                _QTY = 0;
                _RECEIVED = 0;
                _TABLE_STOCK = Util.DBQuery(string.Format(@"SELECT DISTINCT p.sku,p.Image,b.Product, p.Name, COUNT(*) ProductCount, IFNULL(r.Stock, 0) Stock, bn.Name Brand, c.Name Category
                    FROM Barcode b
                        LEFT JOIN Product p
                            ON b.Product = p.Product
                        LEFT JOIN ( 
                                SELECT DISTINCT Product, COUNT(*) Stock
                                FROM Barcode 
                                WHERE ReceivedDate IS NOT NULL 
                                AND (SellBy  = '' OR SellBy  IS NULL)
                                AND inStock = 1 
                                GROUP BY Product
                        ) r
                            ON b.Product = r.Product
                        LEFT JOIN Category c
                            ON p.Category = c.Category
                            AND p.Shop = c.Shop
                        LEFT JOIN Brand bn
                            ON p.Brand = bn.Brand
                            AND p.Shop = bn.Shop
                    WHERE (b.ReceivedDate NOT NULL OR b.ReceivedBy = '{0}') AND (SellBy  = '' OR SellBy  IS NULL)
                    GROUP BY b.Product                   
                ", Param.UserId
                ));

                stockGridView.OptionsBehavior.AutoPopulateColumns = false;
                stockGridControl.MainView = stockGridView;

                dt = new DataTable();
                for (i = 0; i < ((ColumnView)stockGridControl.MainView).Columns.Count; i++)
                {
                    dt.Columns.Add(stockGridView.Columns[i].FieldName);
                }

                for (a = 0; a < _TABLE_STOCK.Rows.Count; a++)
                {
                    var progress = float.Parse(_TABLE_STOCK.Rows[a]["Stock"].ToString()) / float.Parse(_TABLE_STOCK.Rows[a]["ProductCount"].ToString()) * 100.0f;
                    row = dt.NewRow();
                    row[0] = (a + 1) * 1;
                    row[1] = _TABLE_STOCK.Rows[a]["product"].ToString();
                    row[2] = _TABLE_STOCK.Rows[a]["Name"].ToString();
                    row[3] = _TABLE_STOCK.Rows[a]["Category"].ToString();
                    row[4] = Convert.ToInt32(_TABLE_STOCK.Rows[a]["ProductCount"]).ToString("#,##0");
                    row[5] = Convert.ToInt32(_TABLE_STOCK.Rows[a]["Stock"]).ToString("#,##0");
                    row[6] = (int)progress;
                    row[7] = _TABLE_STOCK.Rows[a]["Sku"].ToString();
                    dt.Rows.Add(row);
                    _QTY += int.Parse(_TABLE_STOCK.Rows[a]["ProductCount"].ToString());
                    _RECEIVED += int.Parse(_TABLE_STOCK.Rows[a]["Stock"].ToString());
                }

                if (_RECEIVED != 0)
                {
                    progressBarControl1.Properties.PercentView = true;
                    progressBarControl1.Visible = true;
                    progressBarControl1.Properties.Maximum = _QTY;
                    progressBarControl1.EditValue = _RECEIVED;
                }

                RepositoryItemProgressBar ritem = new RepositoryItemProgressBar();
                ritem.Minimum = 0;
                ritem.Maximum = 100;
                ritem.ShowTitle = true;
                stockGridControl.RepositoryItems.Add(ritem);
                stockGridView.Columns["Progress"].ColumnEdit = ritem;

                stockGridControl.DataSource = dt;
                int val = _QTY - _RECEIVED;
                lblListCount.Text = stockGridView.RowCount.ToString("#,##0") + " รายการ";
                lblProductCount.Text = _QTY.ToString("#,##0") + " ชิ้น";
                lblCheck.Text = _RECEIVED.ToString("#,##0") + " ชิ้น";
                lblNoCheck.Text = val.ToString("#,##0");
            }
            txtBarcode.Select();
        }
Пример #19
0
        private void SearchData()
        {
            DataTable dt;
            DataRow   row;
            int       i, a;

            if (!_FIRST_LOAD)
            {
                progressBarControl1.EditValue = 0;
                _QTY         = 0;
                _RECEIVED    = 0;
                _TABLE_STOCK = Util.DBQuery(string.Format(@"SELECT DISTINCT p.sku,p.Image,b.Product, p.Name, COUNT(*) ProductCount, IFNULL(r.Stock, 0) Stock, bn.Name Brand, c.Name Category
                    FROM Barcode b
                        LEFT JOIN Product p
                            ON b.Product = p.Product
                        LEFT JOIN ( 
                                SELECT DISTINCT Product, COUNT(*) Stock
                                FROM Barcode 
                                WHERE ReceivedDate IS NOT NULL 
                                AND (SellBy  = '' OR SellBy  IS NULL)
                                AND inStock = 1 
                                GROUP BY Product
                        ) r
                            ON b.Product = r.Product
                        LEFT JOIN Category c
                            ON p.Category = c.Category
                            AND p.Shop = c.Shop
                        LEFT JOIN Brand bn
                            ON p.Brand = bn.Brand
                            AND p.Shop = bn.Shop
                    WHERE (b.ReceivedDate NOT NULL OR b.ReceivedBy = '{0}') AND (SellBy  = '' OR SellBy  IS NULL)
                    GROUP BY b.Product                   
                ", Param.UserId
                                                          ));

                stockGridView.OptionsBehavior.AutoPopulateColumns = false;
                stockGridControl.MainView = stockGridView;

                dt = new DataTable();
                for (i = 0; i < ((ColumnView)stockGridControl.MainView).Columns.Count; i++)
                {
                    dt.Columns.Add(stockGridView.Columns[i].FieldName);
                }

                for (a = 0; a < _TABLE_STOCK.Rows.Count; a++)
                {
                    var progress = float.Parse(_TABLE_STOCK.Rows[a]["Stock"].ToString()) / float.Parse(_TABLE_STOCK.Rows[a]["ProductCount"].ToString()) * 100.0f;
                    row    = dt.NewRow();
                    row[0] = (a + 1) * 1;
                    row[1] = _TABLE_STOCK.Rows[a]["product"].ToString();
                    row[2] = _TABLE_STOCK.Rows[a]["Name"].ToString();
                    row[3] = _TABLE_STOCK.Rows[a]["Category"].ToString();
                    row[4] = Convert.ToInt32(_TABLE_STOCK.Rows[a]["ProductCount"]).ToString("#,##0");
                    row[5] = Convert.ToInt32(_TABLE_STOCK.Rows[a]["Stock"]).ToString("#,##0");
                    row[6] = (int)progress;
                    row[7] = _TABLE_STOCK.Rows[a]["Sku"].ToString();
                    dt.Rows.Add(row);
                    _QTY      += int.Parse(_TABLE_STOCK.Rows[a]["ProductCount"].ToString());
                    _RECEIVED += int.Parse(_TABLE_STOCK.Rows[a]["Stock"].ToString());
                }

                if (_RECEIVED != 0)
                {
                    progressBarControl1.Properties.PercentView = true;
                    progressBarControl1.Visible            = true;
                    progressBarControl1.Properties.Maximum = _QTY;
                    progressBarControl1.EditValue          = _RECEIVED;
                }

                RepositoryItemProgressBar ritem = new RepositoryItemProgressBar();
                ritem.Minimum   = 0;
                ritem.Maximum   = 100;
                ritem.ShowTitle = true;
                stockGridControl.RepositoryItems.Add(ritem);
                stockGridView.Columns["Progress"].ColumnEdit = ritem;

                stockGridControl.DataSource = dt;
                int val = _QTY - _RECEIVED;
                lblListCount.Text    = stockGridView.RowCount.ToString("#,##0") + " รายการ";
                lblProductCount.Text = _QTY.ToString("#,##0") + " ชิ้น";
                lblCheck.Text        = _RECEIVED.ToString("#,##0") + " ชิ้น";
                lblNoCheck.Text      = val.ToString("#,##0");
            }
            txtBarcode.Select();
        }
Пример #20
0
        private void ConfigGridColumns()
        {
            var view = grdTransfer.MainView as GridView;

            if (view == null)
            {
                return;
            }
            var itemProgressBar = new RepositoryItemProgressBar
            {
                ReadOnly    = true,
                Enabled     = false,
                BorderStyle = BorderStyles.NoBorder,
                Maximum     = 100,
                Minimum     = 0,
                NullText    = string.Empty,
                PercentView = false,
                ShowTitle   = true
            };

            itemProgressBar.DisplayFormat.FormatType = FormatType.Numeric;
            itemProgressBar.CustomDisplayText       += OnProgressBarCustomDisplayText;

            foreach (GridColumn col in view.Columns)
            {
                col.OptionsColumn.AllowEdit = false;
                if (col.FieldName == ColumnNamesOfTransferTable.Container.ToString())
                {
                    col.Visible = true;
                    col.Caption = PKSimConstants.ProteinExpressions.ColumnCaptions.Transfer.COL_CONTAINER;
                    var itemImageComboBox = new RepositoryItemImageComboBox {
                        ReadOnly = true
                    };
                    var smallImages = new ImageCollection();
                    itemImageComboBox.SmallImages = smallImages;
                    itemImageComboBox.Items.BeginUpdate();
                    var dv = view.DataSource as DataView;
                    if (dv != null)
                    {
                        var dt = dv.ToTable();
                        foreach (DataRow dr in dt.Rows)
                        {
                            string          container   = dr[ColumnNamesOfTransferTable.Container.ToString()].ToString();
                            string          displayName = dr[ColumnNamesOfTransferTable.DisplayName.ToString()].ToString();
                            ApplicationIcon icon        = ApplicationIcons.IconByName(container);
                            if (icon != null && icon != ApplicationIcons.EmptyIcon)
                            {
                                smallImages.AddImage(icon.ToImage());
                                itemImageComboBox.Items.Add(new ImageComboBoxItem(displayName, container, smallImages.Images.Count - 1));
                            }
                            else
                            {
                                itemImageComboBox.Items.Add(new ImageComboBoxItem(displayName, container));
                            }
                        }
                    }
                    itemImageComboBox.Items.EndUpdate();
                    col.ColumnEdit = itemImageComboBox;
                    col.SortOrder  = ColumnSortOrder.Ascending;
                }
                else if (col.FieldName == ColumnNamesOfTransferTable.DisplayName.ToString())
                {
                    col.Visible = false;
                }
                else if (col.FieldName == ColumnNamesOfTransferTable.RelativeExpressionOld.ToString())
                {
                    col.Visible = false;
                }
                else if (col.FieldName == ColumnNamesOfTransferTable.ExpressionValue.ToString())
                {
                    col.Visible = false;
                }
                else if (col.FieldName == ColumnNamesOfTransferTable.Unit.ToString())
                {
                    col.Visible = false;
                }
                else if (col.FieldName == string.Concat(ColumnNamesOfTransferTable.RelativeExpressionOld.ToString(), STR_Percentage))
                {
                    col.Caption = PKSimConstants.ProteinExpressions.ColumnCaptions.Transfer.COL_OLDVALUE;
                    col.Visible = _presenter.ShowOldValues;
                    col.OptionsColumn.AllowEdit = false;
                    col.ColumnEdit = itemProgressBar;
                }
                else if (col.FieldName == ColumnNamesOfTransferTable.RelativeExpressionNew.ToString())
                {
                    col.Visible = false;
                }
                else if (col.FieldName == string.Concat(ColumnNamesOfTransferTable.RelativeExpressionNew.ToString(), STR_Percentage))
                {
                    col.Caption = PKSimConstants.ProteinExpressions.ColumnCaptions.Transfer.COL_NEWVALUE;
                    col.OptionsColumn.AllowEdit = false;
                    col.ColumnEdit = itemProgressBar;
                }
            }
        }
Пример #21
0
        /// <summary>
        /// Visible and invisible column in grid view
        /// </summary>
        public static void ShowXtraColumnInGridView(List <XtraColumn> listXtraColumn, GridView gridView)
        {
            gridView.BeginUpdate();
            ieProgress = new RepositoryItemProgressBar();
            //    gridView.RepositoryItems.Add(ieProgress);

            //gridView.OptionsView.ColumnAutoWidth = false;
            Type myType = typeof(T);
            IList <PropertyInfo> props = new List <PropertyInfo>(myType.GetProperties());

            foreach (PropertyInfo prop in props)
            {
                var column = listXtraColumn.FirstOrDefault(obj => obj.ColumnName.Equals(prop.Name));

                if (column != null)
                {
                    gridView.Columns[prop.Name].Visible = column.ColumnVisible;
                    if (column.ColumnVisible)
                    {
                        gridView.Columns[prop.Name].Caption = column.ColumnCaption;
                        gridView.Columns[column.ColumnName].AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
                        gridView.Columns[column.ColumnName].AppearanceCell.TextOptions.HAlignment   = column.Alignment;
                        gridView.Columns[prop.Name].VisibleIndex  = column.ColumnPosition;
                        gridView.Columns[prop.Name].Width         = column.ColumnWith;
                        gridView.Columns[prop.Name].UnboundType   = column.ColumnType;
                        gridView.Columns[column.ColumnName].Fixed = column.FixedColumn;
                        gridView.Columns[column.ColumnName].OptionsColumn.AllowEdit = column.AllowEdit;
                        gridView.Columns[column.ColumnName].ToolTip = column.ToolTip;
                        gridView.Columns[column.ColumnName].OptionsColumn.AllowSort = DefaultBoolean.False;
                        gridView.Columns[column.ColumnName].ColumnEdit = column.RepositoryControl;

                        if (column.IsSummnary)
                        {
                            gridView.OptionsView.ShowFooter = true;
                            gridView.Columns[column.ColumnName].SummaryItem.SummaryType   = SummaryItemType.Sum;
                            gridView.Columns[column.ColumnName].SummaryItem.DisplayFormat = GlobalVariable.CurrencyDisplayString;
                            gridView.Columns[column.ColumnName].SummaryItem.Format        = Thread.CurrentThread.CurrentCulture;
                        }

                        repositoryCurrencyCalcEdit = new RepositoryItemCalcEdit {
                            AllowMouseWheel = false
                        };
                        repositoryNumberCalcEdit = new RepositoryItemCalcEdit {
                            AllowMouseWheel = false
                        };
                        //repositoryNumberCalcEdit.KeyPress += new KeyPressEventHandler((object sender, KeyPressEventArgs e) =>
                        //{
                        //    int i = 0;
                        //    if (gridView.ActiveEditor == null) return;
                        //    if (e.KeyChar == '+')
                        //    {
                        //        gridView.ActiveEditor.EditValue = null;
                        //    }
                        //});
                        repositoryDateEdit = new RepositoryItemDateEdit()
                        {
                            AllowMouseWheel = false
                        };

                        switch (column.ColumnType)
                        {
                        case UnboundColumnType.Integer:
                            repositoryNumberCalcEdit.Mask.MaskType = MaskType.Numeric;
                            repositoryNumberCalcEdit.Mask.EditMask = @"n0";
                            repositoryNumberCalcEdit.Mask.UseMaskAsDisplayFormat = true;
                            repositoryNumberCalcEdit.Mask.Culture          = Thread.CurrentThread.CurrentCulture;
                            gridView.Columns[column.ColumnName].ColumnEdit = repositoryNumberCalcEdit;
                            break;

                        case UnboundColumnType.Decimal:
                            column.IsNumeric = true;
                            break;
                        }

                        if (column.IsDateTime)
                        {
                            RepositoryItemDateEdit responDateEdit = new RepositoryItemDateEdit();
                            responDateEdit.AllowNullInput = DefaultBoolean.True;
                            responDateEdit.NullDate       = _minValueSql;
                            responDateEdit.Mask.MaskType  = DevExpress.XtraEditors.Mask.MaskType.DateTimeAdvancingCaret;
                            responDateEdit.EditMask       = @"dd/MM/yyyy";
                            responDateEdit.Mask.UseMaskAsDisplayFormat     = true;
                            gridView.Columns[column.ColumnName].ColumnEdit = responDateEdit;
                            gridView.Columns[column.ColumnName].AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
                        }

                        if (column.IsNumeric)
                        {
                            repositoryCurrencyCalcEdit = new RepositoryItemCalcEdit();
                            repositoryCurrencyCalcEdit.Mask.MaskType = MaskType.Numeric;

                            if (column.ColumnName.ToLower().Contains("quantity"))
                            {
                                var _numberDecimalDigits = string.IsNullOrEmpty(GlobalVariable.NumberDecimalDigits) ? "0" : GlobalVariable.NumberDecimalDigits;
                                repositoryCurrencyCalcEdit.Mask.EditMask = @"n" + _numberDecimalDigits;
                                repositoryCurrencyCalcEdit.Precision     = int.Parse(_numberDecimalDigits);
                            }
                            else if (column.ColumnName.ToLower().Contains("exchangerate"))
                            {
                                var _exchangeRateDecimalDigits = string.IsNullOrEmpty(GlobalVariable.ExchangeRateDecimalDigits) ? "0" : GlobalVariable.ExchangeRateDecimalDigits;
                                // repositoryCurrencyCalcEdit.Mask.EditMask = @"n" + _exchangeRateDecimalDigits;
                                repositoryCurrencyCalcEdit.Mask.EditMask =
                                    @"c" + Convert.ToString(_exchangeRateDecimalDigits);
                                //   repositoryCurrencyCalcEdit.Precision = GlobalVariable.CurrencyDecimalDigits;
                            }
                            else if (column.ColumnName.ToLower().Contains("unitprice") || column.ColumnName.ToLower().Contains("unitpriceoc"))
                            {
                                repositoryCurrencyCalcEdit.Mask.EditMask = @"c" + Convert.ToString(GlobalVariable.CurrencyUnitPriceDigits);
                                repositoryCurrencyCalcEdit.Precision     = GlobalVariable.CurrencyUnitPriceDigits;
                            }
                            else if (column.ColumnName.ToLower().Contains("amount") || column.ColumnName.ToLower().Contains("amountoc"))
                            {
                                repositoryCurrencyCalcEdit.Mask.EditMask = @"c" + Convert.ToString(GlobalVariable.CurrencyDecimalDigits);
                                repositoryCurrencyCalcEdit.Precision     = GlobalVariable.CurrencyDecimalDigits;
                                gridView.OptionsView.ShowFooter          = true;
                                gridView.Columns[column.ColumnName].SummaryItem.SummaryType   = SummaryItemType.Sum;
                                gridView.Columns[column.ColumnName].SummaryItem.DisplayFormat = GlobalVariable.CurrencyDisplayString;
                                gridView.Columns[column.ColumnName].SummaryItem.Format        = Thread.CurrentThread.CurrentCulture;
                                gridView.Columns[column.ColumnName].ColumnEdit = repositoryNumberCalcEdit;
                            }
                            else
                            {
                                repositoryCurrencyCalcEdit.Mask.EditMask = @"n" + Convert.ToString(GlobalVariable.CurrencyDecimalDigits);
                                repositoryCurrencyCalcEdit.Precision     = GlobalVariable.CurrencyDecimalDigits;
                            }

                            repositoryCurrencyCalcEdit.Mask.Culture = Thread.CurrentThread.CurrentCulture;
                            repositoryCurrencyCalcEdit.Mask.UseMaskAsDisplayFormat = true;
                            gridView.Columns[column.ColumnName].ColumnEdit         = repositoryCurrencyCalcEdit;
                        }
                    }
                }
                else
                {
                    if (gridView.Columns[prop.Name] != null)
                    {
                        gridView.Columns[prop.Name].Visible = false;
                    }
                }
            }

            if (gridView.OptionsView.ShowFooter)
            {
                gridView.VisibleColumns[0].SummaryItem.SummaryType   = SummaryItemType.Count;
                gridView.VisibleColumns[0].SummaryItem.DisplayFormat = @"Số dòng = {0:n0}";
            }

            // TODO: set lại position: tạm thời như vậy đã (hơi nông dân)
            foreach (var column in listXtraColumn.Where(m => m.ColumnVisible))
            {
                if (gridView.Columns.ColumnByFieldName(column.ColumnName) != null)
                {
                    gridView.Columns[column.ColumnName].VisibleIndex = column.ColumnPosition;
                }
            }

            gridView.EndUpdate();
        }