这里是把在表格中创建控件的方法封装成一个类,然后在创建列的时候实例化“创建控件”的方法

1.在列中使用一些按钮

  1 using Common;
2 using DevExpress.XtraEditors;
3 using DevExpress.XtraEditors.Controls;
4 using DevExpress.XtraEditors.Repository;
5 using DevExpress.XtraGrid;
6 using DevExpress.XtraGrid.Views.Grid;
7 using GyMxErpCs;
8 using System;
9 using System.Collections.Generic;
10 using System.Linq;
11 using System.Text;
12 using System.Threading.Tasks;
13 using System.Windows.Forms;
14
15 namespace Semo
16 {
17 public class SheetControl
18 {
19 /// <summary>
20 /// 日期格式控件
21 /// </summary>
22 public DevExpress.XtraEditors.Repository.RepositoryItemTextEdit dateTextFormat;
23 /// <summary>
24 /// 删除、修改(查看)按钮
25 /// </summary>
26 public DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit checkButton;
27 /// <summary>
28 /// 超链接控件
29 /// </summary>
30 public DevExpress.XtraEditors.Repository.RepositoryItemHyperLinkEdit hyperlinks;
31 /// <summary>
32 /// 删除控件(用于明细)
33 /// </summary>
34 public DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit deleteButton;
35 /// <summary>
36 /// int类型格式控件
37 /// </summary>
38 public DevExpress.XtraEditors.Repository.RepositoryItemTextEdit intTextFormat;
39 /// <summary>
40 /// 检索控件
41 /// </summary>
42 public DevExpress.XtraEditors.Repository.RepositoryItemTextEdit searchText;
43 /// <summary>
44 /// 复选框
45 /// </summary>
46 public DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit checkbox;
47
48 /// <summary>
49 /// 下拉控件
50 /// </summary>
51 public DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit lookUpEdit;
52 /// <summary>
53 /// 文本显示控件
54 /// </summary>
55 public DevExpress.XtraEditors.Repository.RepositoryItemMemoEdit memoEdit;
56 private string strMenuPowerAuth = string.Empty;
57 private GridControl gridControl;
58 private object obj;
59 /// <summary>
60 ///
61 /// </summary>
62 /// <param name="gridControl">GridControl控件名称</param>
63 public SheetControl(GridControl gridControl)
64 {
65 this.gridControl = gridControl;
66 InitControl();
67 }
68 private void InitControl()
69 {
70 #region 日期格式控件
71 dateTextFormat = new DevExpress.XtraEditors.Repository.RepositoryItemTextEdit();
72 dateTextFormat.AutoHeight = false;
73 dateTextFormat.Mask.EditMask = "yyyy-MM-dd";
74 dateTextFormat.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTime;
75 dateTextFormat.Mask.UseMaskAsDisplayFormat = true;
76 dateTextFormat.Name = "dateTextFormat";
77 #endregion
78
79 #region 删除、查看(修改)
80 Dictionary<object, string> checkButtons = new Dictionary<object, string>();
81 if (strMenuPowerAuth.Equals("ck"))
82 {
83 checkButtons.Add("download", "查看");
84 }
85 else if (strMenuPowerAuth.Equals("edit"))
86 {
87 checkButtons.Add("download", "修改");
88 checkButtons.Add("delete", "删除");
89 }
90 checkButton = CreateRepositoryItemButtonEdit(checkButtons);
91 gridControl.RepositoryItems.Add(checkButton);
92 #endregion
93
94 #region 明细删除
95 Dictionary<object, string> delButtons = new Dictionary<object, string>();
96 delButtons.Add("deletes", "删除");
97 deleteButton = CreateRepositoryItemButtonEdit(delButtons, 1);
98 gridControl.RepositoryItems.Add(deleteButton);
99 #endregion
100
101 #region 超链接按钮
102 hyperlinks = new DevExpress.XtraEditors.Repository.RepositoryItemHyperLinkEdit();
103 hyperlinks.AutoHeight = false;
104 hyperlinks.Name = "hyperlinks";
105 #endregion
106
107 #region 检索控件
108 searchText = new DevExpress.XtraEditors.Repository.RepositoryItemTextEdit();
109 searchText.AutoHeight = false;
110 searchText.Name = "searchText";
111 //searchTextEdit.KeyDown += new System.Windows.Forms.KeyEventHandler(this.searchTextEdit_KeyDown);
112 #endregion
113
114 #region Int格式化控件
115 intTextFormat = new DevExpress.XtraEditors.Repository.RepositoryItemTextEdit();
116 intTextFormat.AutoHeight = false;
117 intTextFormat.Mask.EditMask = "n2";
118 intTextFormat.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
119 intTextFormat.Mask.UseMaskAsDisplayFormat = true;
120 intTextFormat.Name = "intTextFormat";
121 #endregion
122
123 #region 复选框
124 checkbox = new RepositoryItemCheckEdit();
125 #endregion
126
127 #region 下拉格式控件
128 lookUpEdit = new DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit();
129 lookUpEdit.AutoHeight = false;
130 //lookUpEdit.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
131 //new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
132 lookUpEdit.Columns.AddRange(new DevExpress.XtraEditors.Controls.LookUpColumnInfo[] {
133 new DevExpress.XtraEditors.Controls.LookUpColumnInfo("value", "value")});
134 lookUpEdit.Name = "lookUpEdit";
135 lookUpEdit.NullText = "";
136 lookUpEdit.ShowHeader = false;
137 #endregion
138
139 #region 文本显示控件
140 memoEdit = new DevExpress.XtraEditors.Repository.RepositoryItemMemoEdit();
141 memoEdit.AutoHeight = false;
142 memoEdit.Name = "memoEdit";
143 #endregion
144 }
145 //使用图标
146 //System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmPoductionAddt));
147 //创建按钮
148 private RepositoryItemButtonEdit CreateRepositoryItemButtonEdit(Dictionary<object, string> dicButtons, int ifImage = 0)
149 {
150 RepositoryItemButtonEdit repositoryBtn = new RepositoryItemButtonEdit();
151 repositoryBtn.AutoHeight = false;
152 repositoryBtn.TextEditStyle = TextEditStyles.HideTextEditor;
153 repositoryBtn.ButtonsStyle = BorderStyles.NoBorder;
154 repositoryBtn.Buttons.Clear();
155 EditorButton btn = null;
156 foreach (KeyValuePair<object, string> item in dicButtons)
157 {
158 btn = new EditorButton();
159 if (ifImage == 1)
160 {
161 btn.Image = ((System.Drawing.Image)(resources.GetObject("repositoryBtn.Buttons")));
162 btn.ImageLocation = ImageLocation.Default;
163 }
164 btn.Kind = ButtonPredefines.Glyph;
165 btn.Caption = item.Value;
166 btn.Tag = item.Key;
167 repositoryBtn.Buttons.Add(btn);
168 }
169 return repositoryBtn;
170 }
171 }
172 }

表格创建中控件

2.创建添加DataTable数据源

 1  //添加表
2 private void CreateData()
3 {
4 //新建一个dt对象
5 DataTable dt = new DataTable();
6 dt.Columns.Add("retrieve", Type.GetType("System.String"));//检索
7 dt.Columns.Add("coding", Type.GetType("System.String"));//编码
8 dt.Columns.Add("name", Type.GetType("System.String"));//名称
9 dt.Columns.Add("quantity", Type.GetType("System.Double"));//数量
10 dt.Columns.Add("id", Type.GetType("System.String"));//数量
11 CreateList();//创建列
12 this.gridData.DataSource = dt;
13 }

创建DataTable

3.创建列

 1    //创建列
2 private void CreateList()
3 {
4 SheetControl = new SheetControl(this.gridData);
5 #region 初始化表头
6 GridColumn retrieve = new GridColumn();
7 retrieve.Caption = "操作";
8 retrieve.FieldName = "retrieve";
9 retrieve.VisibleIndex = 0;
10 retrieve.ColumnEdit = tableControl.deleteButton;
11 retrieve.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] {
12 new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Average, "retrieve", "合计")});
13 this.gridView1.Columns.Add(retrieve);
14
15 GridColumn coding = new GridColumn();
16 coding.Caption = "编码";
17 coding.FieldName = "coding";
18 coding.Width = 70;
19 coding.VisibleIndex = 30;
20 coding.ColumnEdit = tableControl.searchText;
21 this.gridView1.Columns.Add(coding);
22
23 GridColumn name = new GridColumn();
24 name.Caption = "名称";
25 name.FieldName = "name";
26 name.Width = 120;
27 name.VisibleIndex = 32;
28 name.OptionsColumn.AllowEdit = false;
29 name.ColumnEdit = tableControl.memoEdit;
30 name.AppearanceCell.Options.UseTextOptions = true;//自动换行
31 name.AppearanceCell.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;//自动换行
32 this.gridView1.Columns.Add(name);
33
34 GridColumn id = new GridColumn();
35 id.FieldName = "id";
36 id.Visible = false;
37 this.gridView1.Columns.Add(id);
38 #endregion
39 }

创建列

最新文章

  1. [Android]快捷键
  2. TortoiseSVN客户端重新设置用户名和密码
  3. 昨晚值班将发dla的程序改好后放入正式环境
  4. vim正则表达式(转)
  5. 【转载】uclibc和glibc的差别
  6. PHP 文件上传的综合实例
  7. BZOJ 2568 比特集合
  8. 牛场围栏(vijos 1054)
  9. Java并发编程(三)后台线程(Daemon Thread)
  10. [转]Raft [Why Not Paxos]
  11. ssh 公钥
  12. Maven管理项目架包
  13. angularjs modal 嵌套modal的问题
  14. Android Studio Module疑问
  15. SQL Server数据库连接字符串整理
  16. 字符串-06. IP地址转换
  17. OpenGL--第一个OpenGL程序
  18. hitTest:withEvent:方法流程
  19. Node.js学习 - Global Object
  20. 字符串----hiho字符串(尺取法)

热门文章

  1. Generator(生成器),入门初基,Coroutine(原生协程),登峰造极,Python3.10并发异步编程async底层实现
  2. sql根据团队树一级一级汇总统计
  3. .Net 7 内存模型函数描述结构MethoDesc
  4. 初探富文本之OT协同算法
  5. js获取天气插件
  6. 《Effective C++》模版与泛型编程
  7. 【Machine Teaching】An Overview of Machine Teaching
  8. 【实战】yolov8 tensorrt模型加速部署
  9. prettier+ts+eslint+vscode配置代码保存自动格式化,自动remove unsed declaration,delete no-unused-imports
  10. angular打包部署设置publicPath文件目录及访问地址,解决打包完成后,运行打包文件,报错404,js,css未找到