1  GridControl 根据两列的值的关系 设置前景色 背景色 字体等同理

  //绑定数据 private void DataBind(){List<Entity> list = new List<Entity>();list.Add(new Entity { ID = "1", Name = "Name", Age = "20", Age1 = "1" });list.Add(new Entity { ID = "2", Name = "Name", Age = "21", Age1 = "1" });list.Add(new Entity { ID = "2", Name = "Name", Age = "21", Age1 = "1" });//构造数据实体集合 绑定this.gridControl2.DataSource = list;this.gridView2.OptionsBehavior.Editable = false; //不可编辑this.gridView2.OptionsView.ShowGroupPanel = false; //不显示分组panelthis.gridView2.OptionsView.ShowColumnHeaders = false; //不显示列标题
        }//设置列对比前景色变化private void gridView2_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e){if (e.Column.FieldName == "Age1"){//获取要比较的两列的值string value1 = gridView2.GetRowCellValue(e.RowHandle, gridView1.Columns["Age"]).ToString();string value2 = gridView2.GetRowCellValue(e.RowHandle, gridView1.Columns["Age1"]).ToString();if (value1 != value2){e.Appearance.ForeColor = Color.Red; //设置前景色
                }}}

View Code

2  导入CSV文件 (列顺序会变化顺序并包含一定判断)

  private void btn_Click(object sender, EventArgs e){OpenFileDialog open = new OpenFileDialog();StreamReader reader = null;open.Filter = "*.csv|*.csv";if (open.ShowDialog() != System.Windows.Forms.DialogResult.OK){ return; }else{reader = new StreamReader(open.FileName, Encoding.Default);////是否空文件if (string.IsNullOrEmpty(reader.ReadToEnd())){MessageBox.Show("请选择包含数据的文件");reader.Close();return;}//是否有列标题reader.BaseStream.Seek(0, SeekOrigin.Begin); //从头开始读取流string line = reader.ReadLine();while (string.IsNullOrEmpty(line)){line = reader.ReadLine();}string[] captital = line.Split(',');if (captital[0] != "会员号" && captital[0] != "会员简称" && captital[0] != "分类监管指标"){MessageBox.Show("文件格式错误");reader.Close();return;}//获取列标题及其顺序的字典Dictionary<string, int> capitslList = new Dictionary<string, int>();capitslList = GetCapitalList(captital);//读取导入数据string lineData = reader.ReadLine();//错误列表List<string> ErrorList = new List<string>();//数据列表List<string> ImportList = new List<string>();ErrorList.Clear(); ImportList.Clear();//读取数据到List<string> ImportList为验证通过(可能在写库的时候出错)ErrorList保存验证出错数据和写库时出错的数据while (!string.IsNullOrEmpty(lineData)){if (string.IsNullOrEmpty(lineData.Split(',')[0])){ErrorList.Add(lineData + "," + capitslList.First().Key + "不能为空");lineData = reader.ReadLine();continue;}//会员号位纯数字 int MeneberIndex = 0;capitslList.TryGetValue("会员号", out MeneberIndex);if (!IsAllNumber(lineData.Split(',')[MeneberIndex])){ErrorList.Add(lineData + ",会员号格式错误,必须位纯数字");lineData = reader.ReadLine();continue;}//分类监管指标位纯数字int S_Index = 0;capitslList.TryGetValue("分类监管指标", out S_Index);if (!IsAllNumber(lineData.Split(',')[S_Index])){ErrorList.Add(lineData + ",分类监管指标格式错误,必须位纯数字");lineData = reader.ReadLine();continue;}ImportList.Add(lineData);lineData = reader.ReadLine();}int SuccessCount = 0;List<string> ImportErrorList = new List<string>();ImportErrorList.Clear();ImportData(ImportList, capitslList, out ImportErrorList, out SuccessCount);ErrorList.AddRange(ImportErrorList);if (ErrorList.Count > 0){//SomeThing
                }else{//SomeThing
                }}}private bool IsAllNumber(string str){char[] chars = str.ToCharArray();foreach (char c in chars){if (char.IsDigit(c)){ continue; }elsereturn false;}return true;}//获取列标题及其顺序private Dictionary<string, int> GetCapitalList(string[] captital){Dictionary<string, int> CapitalList = new Dictionary<string, int>();if (captital[0] == "会员号"){CapitalList.Add("会员号", 0);if (captital[1] == "会员简称"){CapitalList.Add("会员简称", 1);CapitalList.Add("分类监管指标", 2);}else{CapitalList.Add("分类监管指标", 1);CapitalList.Add("会员简称", 2);}}if (captital[0] == "会员简称"){CapitalList.Add("会员简称", 0);if (captital[1] == "会员号"){CapitalList.Add("会员号", 1);CapitalList.Add("分类监管指标", 2);}else{CapitalList.Add("分类监管指标", 1);CapitalList.Add("会员号", 2);}}if (captital[0] == "分类监管指标"){CapitalList.Add("分类监管指标", 0);if (captital[1] == "会员号"){CapitalList.Add("会员号", 1);CapitalList.Add("会员简称", 2);}else{CapitalList.Add("会员简称", 1);CapitalList.Add("会员号", 2);}}return CapitalList;}private void ImportData(List<string> importdata, Dictionary<string, int> capitsllist, out List<string> importerrorist, out int successcount){int SuccessCount = 0;List<string> ImportErrorist = new List<string>();int MemberIDIndex = 0;int MemberAbbrIndex = 0;int S_Index = 0;capitsllist.TryGetValue("会员号", out MemberIDIndex);capitsllist.TryGetValue("会员简称", out MemberAbbrIndex);capitsllist.TryGetValue("分类监管指标", out S_Index);foreach (string data in importdata){string[] dataArray = data.Split(',');string memberid = dataArray[MemberIDIndex];string memberabbr = dataArray[MemberAbbrIndex];string membersindex = dataArray[S_Index];if (!Insert()) //执行Dac方法 写入数据库
                {ImportErrorist.Add(data + "," + errorcode);continue;}else{SuccessCount++;}}importerrorist = ImportErrorist;successcount = SuccessCount;}private bool Insert(){//自己需要的方法return true;}

View Code

3 GridControl常用属性

//只读gridView1.OptionsBehavior.ReadOnly = true; //选择行背景色一致gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;//选择模式 RowSelect为整行选中 CellSelect为选择单元格 CheckBoxRowSelect复选框选中行gridView1.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;//显示筛选行gridView1.OptionsView.ShowAutoFilterRow = false;//筛选条件panelgridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;//页脚gridView1.OptionsView.ShowFooter = false;//分组panelgridView1.OptionsView.ShowGroupPanel = false;//自动列宽gridView1.OptionsView.ColumnAutoWidth = true;//执行.AddNewRow()方法后新增行的位置 分别为 top bottom nonegridView1.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Top;//新增一行
            gridView1.AddNewRow();//单元格可编辑gridView1.OptionsBehavior.Editable = true;//单元格编辑模式gridView1.OptionsBehavior.EditingMode = DevExpress.XtraGrid.Views.Grid.GridEditingMode.Default;//何种动作出发单元格编辑gridView1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click;gridControl1.DataSource = Data;

View Code

转载于:https://www.cnblogs.com/ShuiMu/articles/4020861.html

Devexpress 代码累积相关推荐

  1. 巨人通力电梯服务器显示,巨人通力电梯的所有故障代码大全[详细版]

    通力电梯故障代码详解.通力电梯的控制系统可监测到电梯电气系统的常见基本故障,对于监测到的故障,可通过LCECPU板上的显示窗口以故障代码的数字形式显示出来.电梯的控制系统的NVRAM可同时存储99个常 ...

  2. jvm 系列(九):如何优化 Java GC 「译」

    本文由CrowHawk翻译,地址:如何优化Java GC「译」,是Java GC调优的经典佳作. Sangmin Lee发表在Cubrid上的"Become a Java GC Expert ...

  3. 补psp进度(11月4号-9号)

    这周psp进度 11月4号 内容 开始时间 结束时间 打断时间 净时间 小伙伴聊天实现 9:45 10:49 0 64m 学习HttpURLConnection 14:13 15:48 10m 85m ...

  4. 作业 20181016-10 每周例行报告

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2253 1.psp Task(任务) ST(开始时间) ET(结束时间) ...

  5. jvm系列(十):如何优化Java GC「译」

    本文由CrowHawk翻译,地址:如何优化Java GC「译」,是Java GC调优的经典佳作. Sangmin Lee发表在Cubrid上的"Become a Java GC Expert ...

  6. 深入理解JVM(4)——如何优化Java GC「译」

    本文翻译自Sangmin Lee发表在Cubrid上的"Become a Java GC Expert"系列文章的第三篇<How to Tune Java Garbage C ...

  7. 银行祖传系统重构实例:创立12年,只支持Python 2,跑着500多个应用程序

    作者 | THEHFTGUY.万佳 提到遗留系统,你会想到什么? 还在使用 Java 5 的路过 JDK 1.6 的我不说啥了 很多坑 难维护 从零开始(重写) 盼着 IE 什么时候不再能使用 ... ...

  8. 20181204-1 每周例行报告

    一.本周PSP表格 二.本周进度表 三.代码累积折线图 四.博客字数累积图 五.本周PSP饼状图 六.PSP时间累积图 转载于:https://www.cnblogs.com/handsome-blo ...

  9. jvm系列(九):如何优化Java GC「译

    本文由CrowHawk(https://crowhawk.github.io/2017/08/21/jvm_4/)翻译,是Java GC调优的经典佳作. 本文翻译自Sangmin Lee发表在Cubr ...

最新文章

  1. python3 import 和__import__() 的区别
  2. 雇佣最优秀的开发者?培养可能是更好的选择
  3. Shell学习笔记1-2
  4. 教你玩转CSS 居中
  5. React开发(171):处理删除与批量删除操作
  6. html加载js文件失败,firefox/chrome动态设置script加载js文件失败
  7. androidannotations gradle Android Studio
  8. 《循序渐进学Spark》一1.7 本章小结
  9. 【转】simulink中的sample time设置
  10. chown、chgrp 更改文件属主属组
  11. 纯净重装正版win10系统的方法
  12. Discuz模板的制作方法
  13. linux oracle ora-12162,oracle ORA-12162: TNS:net service name is incorrectly specified
  14. IPtables中SNAT、DNAT和MASQUERADE的含义
  15. 计算机编程的好处,青少年学习编程的好处有哪些?
  16. 迪斯科算法_为什么迪斯科极乐世界如此可重播
  17. fastjson byte[]转json字符串
  18. 使用idea搭建SSM框架,并成功运行。
  19. es ik 多字段查询_SpringBoot使用注解的方式构建Elasticsearch查询语句,实现多条件的复杂查询...
  20. matlab 三叶线,面积计算求三叶线r=asin3φ所围成的面 – 手机爱问

热门文章

  1. 过了30岁,我们前端程序员该何去何从
  2. 找到数组中唯一或者唯二的数
  3. 模块化编程设计原则:高内聚,低耦合
  4. 全国大学生信息安全竞赛三等奖virusTotal论文展示
  5. LeetCode:帕斯卡三角形
  6. python编写猫和老鼠
  7. 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux
  8. 无线通信之zigbee芯片和模块的选择
  9. 神经网络用英文怎么说,神经网络英文怎么说
  10. c 函数 strcpy