GridControl 验证集合
2011-03-18 12:27 观海看云 阅读(320) 评论(0) 编辑 收藏 举报 1
/// <summary>
2
/// 初始化GridView,绑定数据
3
/// </summary>
4
/// <param name="parentId"></param>
5
private void GridViewBindData(string parentId)
6
{
7
this.gridView1.Columns.Clear();
8
this.FDs= areaSetupActionHelper.getDsRegionByParentId(parentId);
9
this.gridCArea.DataSource =this.FDs.Tables[0].DefaultView;
10
11
this.gridView1.Columns["id"].VisibleIndex = -1;
12
this.gridView1.Columns["childCounts"].VisibleIndex = -1;
13
14
this.gridView1.Columns["reg_id"].Caption = "区划编号";
15
this.gridView1.Columns["reg_name"].Caption = "区划名称";
16
this.gridView1.Columns["parent_id"].Caption = "父区划编号";
17
this.gridView1.Columns["reg_desc"].Caption = "区划描述";
18
this.gridView1.Columns["parent_id"].ImageIndex =1;
19
this.gridView1.Columns["reg_desc"].ImageIndex = 0;
20
21
RepositoryItemTextEdit textEditReg_Id = new RepositoryItemTextEdit();
22
textEditReg_Id.Mask.EditMask =parentId+"\\d{2,3}";
23
textEditReg_Id.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Regular;
24
25
this.gridView1.Columns["reg_id"].ColumnEdit = textEditReg_Id;
26
27
this.gridView1.Columns["reg_desc"].ColumnEdit = new RepositoryItemMemoExEdit();
28
29
TreeListNode node = this.treelArea.FocusedNode.ParentNode;
30
string fid = node==null?"0":node.GetValue("RegID").ToString().Trim();
31
DataSet ds = areaSetupActionHelper.getDsRegionByParentId(fid);
32
RepositoryItemLookUpEdit lookUEParent_Id = new RepositoryItemLookUpEdit();
33
lookUEParent_Id.Columns.Add(new LookUpColumnInfo("reg_id", 40, "区划编号"));
34
lookUEParent_Id.Columns.Add(new LookUpColumnInfo("reg_name", 40, "区划名称"));
35
lookUEParent_Id.DataSource = ds.Tables[0].DefaultView;
36
lookUEParent_Id.ValueMember = "reg_id";
37
lookUEParent_Id.DisplayMember = "reg_id";
38
this.gridView1.Columns["parent_id"].ColumnEdit = lookUEParent_Id;
39
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

1
/// <summary>
2
/// gridView单元格验证的相关处理程序
3
/// </summary>
4
/// <param name="sender"></param>
5
/// <param name="e"></param>
6
private void gridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
7
{
8
if (e.Valid == false&&this.gridView1.FocusedColumn.FieldName == "reg_id")
9
{
10
e.ErrorText = "区划编号不合法!\n应为父区划编号加2~3位数据组成!";
11
}
12
if (this.gridView1.FocusedColumn.FieldName == "reg_name")
13
{
14
Regex reg=new Regex(@"[\u4e00-\u9fa5]{1,20}");
15
Match m=reg.Match(e.Value.ToString().Trim());
16
if (m.Length != e.Value.ToString().Trim().Length)
17
{
18
e.Valid = false;
19
e.ErrorText = "区划名称应为汉字\n长度为1至20";
20
}
21
}
22
}
23
24
private void gridView1_InvalidValueException(object sender, InvalidValueExceptionEventArgs e)
25
{
26
if (MyDialog.Alert(" 您所填写的内容不符合规则\n 要放弃您刚才对此项所做的更改吗?", "您所编辑的内容不符合规则", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
27
{
28
e.ExceptionMode = ExceptionMode.Ignore;
29
}
30
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

1
/// <summary>
2
/// gridView行验证的相关处理程序
3
/// </summary>
4
private void gridView1_ValidateRow(object sender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e)
5
{
6
string regid = this.gridView1.GetRowCellValue(e.RowHandle, "reg_id").ToString().Trim();
7
string regName = this.gridView1.GetRowCellValue(e.RowHandle, "reg_name").ToString().Trim();
8
if ( regid.Length < 1)
9
{
10
e.Valid = false;
11
this.gridView1.SetColumnError(this.gridView1.Columns["reg_id"], "请填写区划编号!", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default);
12
// e.ErrorText = "区划名称不能为空!";
13
}
14
if (regName.Length < 1)
15
{
16
e.Valid = false;
17
this.gridView1.SetColumnError(this.gridView1.Columns["reg_name"], "区划名称不能为空!", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default);
18
}
19
}
20
21
private void gridView1_InvalidRowException(object sender, DevExpress.XtraGrid.Views.Base.InvalidRowExceptionEventArgs e)
22
{
23
24
if (e.RowHandle >= 0)
25
{
26
if (this.gridView1.GetRowCellValue(e.RowHandle, this.gridView1.Columns["reg_id"]).ToString().Trim() == "" || this.gridView1.GetRowCellValue(e.RowHandle, this.gridView1.Columns["reg_name"]).ToString().Trim() == "")
27
{
28
if (MyDialog.Alert(" 您所填写的内容不符合规则\n 要放弃您刚才对此项所做的更改吗?", "您所编辑的内容不符合规则", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
29
{
30
e.ExceptionMode = ExceptionMode.Ignore;
31
}
32
else
33
{
34
e.ExceptionMode = ExceptionMode.NoAction;
35
}
36
}
37
}
38
else
39
{
40
e.ExceptionMode = ExceptionMode.Ignore;
41
}
42
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

作者:观海看云(个人开发历程知识库 - 博客园)
出处:http://www.cnblogs.com/zhangtao/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/zhangtao/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器