GridControl绑定List对象一般是为了获取焦点行时直接获得该行代表的List对象,或者为了实现嵌套表格,对第一中情况,起始不用绑定List,绑定DataTable也可以实现获取对应List对象

如果直接绑定List<T>对象,列标题就是T的各属性名,一旦转义(如Select(c => new { 查询条件 = c.queryString, 数量 = c.resAirlines.Count }).ToList();),就成了自定义对象,GetFocusedRow无法获取到原T对象

解决方法:(起始也适用于绑定的DataTable)

进行转义时,将原对象作为object也进行完整转义,如 var res = FlightBLL.queryPool.Select(c => new { obj=c, 查询条件 = c.queryString, 数量 = c.resAirlines.Count }).ToList(); 这里的obj=c就将完整对象转义成了obj

这样,即保留了原对象,也可灵活组织显示形式和列标题

绑定时,即可用List绑定,也可用DataTable绑定,如下面两种绑定方法都ok:

CmmFrm.BestFitGridViewColumnsWidth(gdcQuery, res, 0, true, false);

CmmFrm.BestFitGridViewColumnsWidth(gdcQuery, res.ToDataTable(), 0, true, false);

将obj列隐藏,gdvQuery.Columns[0].Visible = false;

取出选定行对象时,不能用GetFocusedRow了,而要用GetFocusedRowCellValue,如:

var row = gdvQuery.GetFocusedRowCellValue(gdvQuery.Columns[0]) as QUERY_CONDITION_CONTRAST;

取消当前选中行,但是无法取消初始绑定时的选择行

gdv_refer.FocusedRowHandle = -1;

//判断当前有无数据选中,若index<0,没有数据选中

int index= gdv_refer.GetFocusedDataSourceRowIndex() ;

//返回选中行的数据对象

DataRow dr= gdv_refer.GetFocusedDataRow();

//返回选中行数据实体

REFTAB reftab = gdv_refer.GetFocusedRow() as REFTAB;

//删除一行数据

gdv_refer.DeleteRow(gdv_refer.FocusedRowHandle);

//新增一行

DataRow dr = this.DataDetailSourceTable.Rows.Add(); //这是新增加了一行
dr["primary_key"]
= "";

Dev GridControl 选择行及绑定/获取List对象的更多相关文章

  1. DEV GridControl双击行事件

    首先,需要将gridview1.OptionsBehavior.Editable设为false //双击行弹出nodeDetail信息 private void gridView1_MouseDown ...

  2. DEV gridcontrol 设置行数据超宽换行

    第一 在main > columns 的 某个gridcolumn下的 columnEdit为新建为 repositoryitemmemoedit 第二 repositor下的optionvie ...

  3. DevExpress控件-GridControl根据条件改变单元格/行颜色(Dev GridControl 单元格着色) z

    DevExpress控件-数据控件GridControl,有时我们需要根据特定条件改变符合条件的行或者单元格颜色达到突出显示目的,现在动起鼠标跟我一起操作吧,对的,要达到这个目的您甚至都不用动键盘. ...

  4. jquery easyui datagrid 获取Checked选择行(勾选行)数据

    原文:jquery easyui datagrid 获取Checked选择行(勾选行)数据 getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录. getSel ...

  5. C# dev GridControl绑定数据不能显示

    如题, dev GridControl绑定数据不能显示时可检查数据操作顺序 view = advBandedGridView1 as AdvBandedGridView; //第1 this.advB ...

  6. DEV GridControl小结

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  7. 转载--DEV GridControl 的一些基本操作

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  8. dev gridview指定单元格cell获取坐标

    DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo Info2 = gvQueryResult.GetViewInfo() as DevExpre ...

  9. DEV GridControl小结。。

    [转]DEV GridControl小结.. 来自:http://www.cnblogs.com/yuerdongni/archive/2012/09/08/2676753.html   1. 如何解 ...

随机推荐

  1. 基于EasyDSS流媒体服务器实现的直播流管理与鉴权的后台方案

    本文转自EasyDSS团队Marvin的博客:http://blog.csdn.net/marvin1311/article/details/73548929 最新版本的EasyDSS流媒体解决方案, ...

  2. 求二叉树的深度 python

    二叉树有深度和高度两个属性,一个节点的深度指的是从根节点到该节点路径的长度,根节点的深度为1:一个节点的高度指的是从该节点到叶子节点所有路径上包含节点个数的最大值.叶子节点的高度为1,往上节点的高度依 ...

  3. c语言第4次作业

    题目7-2九九乘法表 1.代码: #include<stdio.h> int main() { int N, i, j, q; scanf("%d",&N); ...

  4. ranch分析学习(四)

    经过的前面的梳理,整个ranch框架的结构,大致有了一个清晰的脉络,即使我说的不是很清楚大家也基本能阅读懂源码.下面我继续分析剩下的的几个文件. 7.ranch_transport.erl 这个文件是 ...

  5. SQLServer OpenRowSet 导入数据

    今早上同事要求从SQLServer2008导出一部分数据到SQLServer2000中作为演示/测试数据,开始也没想多,直接去SQLServer2000的企业管理器中,用了数据导入的功能.以为完事了, ...

  6. 【Git】Git的正确学习方式

    Git学习笔记 学习资料 git init git status git log 可以查看提交历史 git reset --hard commit_id git reflog查看命令历史 git ad ...

  7. get、post接口测试-java

    public class HttpClient { //get请求方法 public String sendGet(String url, String data) { Date date = new ...

  8. THREE.OrbitControls参数控制

    // Set to false to disable this control//鼠标控制是否可用 this.enabled = true; // "target" sets th ...

  9. log4j的使用配置

    1.与spring整合,web.xml中配置详情 <!-- 加载log4j的配置文件log4j.properties --> <context-param> <param ...

  10. 使用python处理selenium中的frame切换问题

    # iframe有name或id值 self.driver.switch_to.frame('iframe-name-id') # iframe没有name或id值 xf = self.driver. ...