• GridControl 绑定非绑定列


    1、设置非绑定列的FieldName;

    2、修改 UnboundType 属性,除默认的bound外均可(但是如果不是Boolean类型的选Boolean,只会显示一个勾选框,不会显示内容)

      

      

    3、绑定 gridView 的 CustomUnboundColumnData 事件

      

    4、最后在 CustomUnboundColumnData 事件中实现非绑定列的绑定,代码如下:

    private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
    {
      if (e.Column.FieldName == "列名" && e.IsGetData) 
      {
        e.Value = 值
      }
    }

    下面是示例代码:

            
         //为非绑定列 colAB 设置一个窗体内全局唯一的FieldName
         string colClassAndCount = "ClassAndCount"; //创建测试数据表 public static class ServiceData { public static DataTable GetClassCount() { DataTable dt = new DataTable(); dt.Columns.Add("class", typeof(string)); //年级 dt.Columns.Add("count", typeof(int)); //人数 dt.Rows.Add("一年级", 120); dt.Rows.Add("二年级", 180); dt.Rows.Add("三年级", 890); dt.Rows.Add("四年级", 108); dt.Rows.Add("五年级", 280); dt.Rows.Add("六年级", 320); dt.Rows.Add("七年级", 450); dt.Rows.Add("八年级", 410); dt.Rows.Add("九年级", 230); return dt; } } //绑定非绑定列 private void gridView_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e) { DataView dv = ServiceData.GetClassCount().DefaultView; if (e.IsGetData) { //设置非绑定列的FieldName为定义的全局FieldName, //匹配 gridView 每一列的FieldName //设置非绑定列 colAB 显示内容:Class + Count if (e.Column.FieldName == colClassAndCount) { string classNo = dv[e.ListSourceRowIndex]["class"].ToString(); string countNum = dv[e.ListSourceRowIndex]["count"].ToString(); string ClassAndCount = classNo + " + " + countNum; e.Value = ClassAndCount; } } } private void Form5_Load(object sender, EventArgs e) { gridControl3.DataSource = ServiceData.GetClassCount(); }

     最终结果如下: 

      

  • 相关阅读:
    【Splay树】
    毕业设计每日总结2020/2/8
    毕业设计每日总结2020/2/7
    毕业设计每日总结2020/2/6
    毕业设计每日总结2020/2/5
    毕业设计每日总结2020/2/4
    毕业设计每日总结2020/2/3
    毕业设计每日总结2020/2/2
    毕业设计每日总结2020/2/1
    毕业设计第一周计划
  • 原文地址:https://www.cnblogs.com/719468186-QAQ/p/6084823.html
Copyright © 2020-2023  润新知