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. .NET c# 新特性

    <.NET之美>p181 Product item=new Product(188),{Price=4998.5F},Name="Lumia 920" 实例化,.NET ...

  2. idea和pycharm激活方法

    idea和pycharm是jetbrains出品的很火的开发辅助工具,不过目前来说是收费的,对于囊中羞涩的同学来说还是比较困难的 我写这篇博客只是为了方便新手使用,推进开发进程,但希望大家在合适的情况 ...

  3. couldn't import dot_parser

    这个错误,你不要信它,实际可以画图了.害我又降级安装,真是气死了.

  4. ubuntu16.04 LTS grafana安装与启动

    1.首先从官网上下载相应的包,网址为:http://grafana.org/download 2.安装 cd Downloads sudo dpkg -i grafana_4.1.2-14869897 ...

  5. 【angular之起步】安装

    人生只有眼前的苟且. 所以为了远方,最近在策划一个大阴谋------做一个自己的网站,杂而全的. 各种胡思乱想了一周,先把页面写完了,没辙,就这个不用费太多脑子. 然后开始重头戏,就卡死了. angu ...

  6. try...except包含try...finally方法

    def f(): try: try: f = open(raw_input('>')) print f.readlines() finally: f.close() #1/0 except Ex ...

  7. BZOJ1816 Cqoi2010 扑克牌【二分答案】

    BZOJ1816 Cqoi2010 扑克牌 Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张jok ...

  8. JSONModel源码阅读笔记

    JSONModel是一个解析服务器返回的Json数据的库. http://blog.csdn.net/dyllove98/article/details/9050905 通常服务器传回的json数据要 ...

  9. [Aizu2784]Similarity of Subtrees

    vjudge Description 给一棵\(n\)个节点的有根树,定义两棵树同构当且仅当他们每个深度的节点个数相同.问这个树上有多少对子树满足同构.\(n\le100000\). sol 树\(h ...

  10. LG1429 平面最近点对(加强版)

    题意 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 2≤n≤200000 分析 参照3A17K的题解. 我们充分发扬人类智慧: 将所有点全部绕原点旋转 ...