using System; using System.Collections.Generic; using System.Linq; using System.Text; using DevComponents.DotNetBar.SuperGrid; using DevComponents.DotNetBar.SuperGrid.Style; using System.Windows.Forms; namespace WCS_Client.UC { public delegate string delSetButtonName(string headerText); public delegate void delQueryBtnItem(string id,string vlaue); public class SuperGridUtil { public static delSetButtonName SetButtonName; public static delQueryBtnItem QueryBtnItem; /// /// 新增列 /// /// 字段名 /// 列标题 /// 宽度 public static GridColumn Get_GridColumn(string ColName, string HeaderText, int Width) { GridColumn item = new GridColumn(); item.Name = ColName; item.DataPropertyName = ColName; item.HeaderText = HeaderText; item.ToolTip = HeaderText; item.Width = Width; item.ReadOnly = true; return item; } public static GridColumn Get_Datetime_GridColumn(string ColName, string HeaderText, int Width) { GridColumn item = new GridColumn(); item.Name = ColName; item.EditorType = typeof(GridDateTimeInputEditControl); GridDateTimeInputEditControl createTimeColumnRenderControl = (GridDateTimeInputEditControl)item.RenderControl; //设置 format 为自定义 createTimeColumnRenderControl.Format = DevComponents.Editors.eDateTimePickerFormat.Custom; //设置自定义格式 createTimeColumnRenderControl.CustomFormat = "yyyy-MM-dd HH:mm:ss"; item.DataPropertyName = ColName; item.HeaderText = HeaderText; item.ToolTip = HeaderText; item.Width = Width; item.ReadOnly = true; return item; } /// /// 新增列 /// /// 字段名 /// 列标题 /// 宽度 public static GridColumn Get_GridColumn(string ColName, string HeaderText, int Width,bool isVisible) { GridColumn item = new GridColumn(); item.Name = ColName; item.DataPropertyName = ColName; item.HeaderText = HeaderText; item.ToolTip = HeaderText; item.Width = Width; item.ReadOnly = true; item.Visible = isVisible; return item; } /// /// 新增列 /// /// 字段名 /// 列标题 /// 宽度 public static GridColumn Get_CheckBoxX_GridColumn(string ColName, string HeaderText, int Width) { GridColumn item = new GridColumn(); item.Name = ColName; DevComponents.DotNetBar.SuperGrid.Style.CellVisualStyles Citem = new DevComponents.DotNetBar.SuperGrid.Style.CellVisualStyles(); Citem.Default.Alignment = DevComponents.DotNetBar.SuperGrid.Style.Alignment.MiddleCenter; item.CellStyles = Citem; item.EditorType = typeof(GridCheckBoxXEditControl); item.DataPropertyName = ColName; item.HeaderText = HeaderText; item.ToolTip = HeaderText; item.Width = Width; item.ReadOnly = true; return item; } public static GridColumn Get_EditGridColumnNum(string ColumnName, string HeaderText, int WidthItem) { GridColumn item = new GridColumn(); item.Name = ColumnName; item.DataPropertyName = ColumnName; item.HeaderText = HeaderText; item.ToolTip = HeaderText; item.Width = WidthItem; item.ReadOnly = false; item.EditorType = typeof(DevComponents.DotNetBar.SuperGrid.GridNumericUpDownEditControl); GridNumericUpDownEditControl nc = (GridNumericUpDownEditControl)item.EditControl; nc.Minimum = 0; nc.Maximum = int.MaxValue; nc.DecimalPlaces = 3; return item; } private static string QueryId = string.Empty; public static GridColumn Get_ButtonX_GridColumn(string ColName, string HeaderText, int Width,string id) { GridColumn item = new GridColumn(); item.Name = ColName; DevComponents.DotNetBar.SuperGrid.Style.CellVisualStyles Citem = new DevComponents.DotNetBar.SuperGrid.Style.CellVisualStyles(); Citem.Default.Alignment = DevComponents.DotNetBar.SuperGrid.Style.Alignment.MiddleCenter; item.CellStyles = Citem; item.EditorType = typeof(MyGridButtonXEditControl); item.DataPropertyName = ColName; item.HeaderText = HeaderText; item.ToolTip = HeaderText; item.Width = Width; //item.ReadOnly = true; QueryId = id; return item; } public static GridColumn Get_Button_GridColumn(string ColName, string HeaderText, int Width) { GridColumn item = new GridColumn(); item.Name = ColName; DevComponents.DotNetBar.SuperGrid.Style.CellVisualStyles Citem = new DevComponents.DotNetBar.SuperGrid.Style.CellVisualStyles(); Citem.Default.Alignment = DevComponents.DotNetBar.SuperGrid.Style.Alignment.MiddleCenter; item.CellStyles = Citem; item.EditorType = typeof(GridButtonXEditControl); item.DataPropertyName = ColName; item.HeaderText = HeaderText; item.ToolTip = HeaderText; item.Width = Width; //item.MarkRowDirtyOnCellValueChange = false; //item.ReadOnly = true; return item; } public static GridColumn SCGridAddColumn() { GridColumn column = new GridColumn("查询角色"); column.EditorType = typeof(MyGridButtonXEditControl); column.MarkRowDirtyOnCellValueChange = false; //column.DefaultNewRowCellValue = "查询角色"; //gc.AutoSizeMode = ColumnAutoSizeMode.DisplayedCells; // gc.EditorType = typeof(GridButtonXEditControl); //gc.HeaderText = "测试"; //gc.Name = "LinkUpdate"; //gc.Width = 80; //gc.DataPropertyName = "查询角色"; //gc.DefaultNewRowCellValue = "查询角色"; //SCGrid.PrimaryGrid.Columns.Add(gc); return column; //GridRow Dfr = SCGrid.PrimaryGrid.NewRow(); //Dfr[0].Value = "查询角色"; //SCGrid.PrimaryGrid.Rows.Add(Dfr); } #region MyGridButtonXEditControl /// /// GridButtonXEditControl Class that controls the /// ButtonX color initialization and user button clicks. /// private class MyGridButtonXEditControl : GridButtonXEditControl { /// /// Constructor /// public MyGridButtonXEditControl() { // We want to be notified when the user clicks the button // so that we can change the underlying cell value to reflect // the mouse click. Click += MyGridButtonXEditControlClick; } #region InitializeContext /// /// Initializes the color table for the button /// /// /// public override void InitializeContext(GridCell cell, CellVisualStyle style) { try { base.InitializeContext(cell, style); //this.Text = "sddgsd"; this.Text = SetButtonName(cell.GridColumn.HeaderText); //bool running = Text.Equals("Stop") == false; //ColorTable = (running == true) // ? eButtonColor.OrangeWithBackground // : eButtonColor.BlueOrb; } catch (Exception ex) { throw; } } #endregion #region MyGridButtonXEditControlClick /// /// Handles user clicks of the button /// /// /// void MyGridButtonXEditControlClick(object sender, EventArgs e) { var id = EditorCell.GridRow[QueryId].FormattedValue; var value = EditorCell.FormattedValue; QueryBtnItem(id, value); //EditorCell.Value = "asdsafd"; //MessageBox.Show("a"); //bool running = (EditorCell.Value != null && // EditorCell.Value.Equals("Start")); //EditorCell.Value = (running == true) ? "Stop" : "Start"; } #endregion } #endregion } public class DelegateUtil { public static delSetButtonName SetButtonName; public static delQueryBtnItem QueryBtnItem; } }