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;
}
}