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; }
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; }
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; }
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"); } }
private RepositoryItem MyBarRepository(IAnInterface arg) { var repositoryItem = new RepositoryItemProgressBar(); repositoryItem.Minimum = 0; repositoryItem.Maximum = 100; return(repositoryItem); }
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; } }
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; }; }
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); }
/////////////////////////////////////////////////////////////////////////////////////////////// // 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; } }
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); }
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; } }
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; }
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; }
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(); }
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(); }
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(); }
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; } } }
/// <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(); }