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. CF 382C

    http://codeforces.com/problemset/problem/382/C 读完题立刻知道怎么做,然后分类讨论到吐血,写挂了,巨蠢 #include <iostream> ...

  2. NSStringFromSelector(_cmd)和self

    1._cmd是隐藏的参数,代表当前方法的selector,他和self一样都是每个方法调用时都会传入的参数,动态运行时会提及如何传的这两个参数, 你在方法里加入CCLOG(@\"%@, %@ ...

  3. install build essential

    CentOS: sudo yum groupinstall 'Development Tools' Ubuntu: sudo apt-get install build-essential

  4. Java [Leetcode 387]First Unique Character in a String

    题目描述: Given a string, find the first non-repeating character in it and return it's index. If it does ...

  5. HihoCoder 1033交错和(数位DP第三题)

    (写挂了,有空再补) 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数 x,设它十进制展从高位到低位上的数位依次是 a0, a1, ..., an - 1,定义 ...

  6. Roslyn 入门:使用 Roslyn 静态分析现有项目中的代码

    Roslyn 是微软为 C# 设计的一套分析器,它具有很强的扩展性.以至于我们只需要编写很少量的代码便能够分析我们的项目文件. 作为 Roslyn 入门篇文章,你将可以通过本文学习如何开始编写一个 R ...

  7. wpf 动态得到label的宽度(无刷新情况)

    var l =newLabel(){Content="Hello"}; l.Measure(newSize(double.PositiveInfinity,double.Posit ...

  8. win32鼠标和键盘相关函数

    键盘相关函数:http://msdn.microsoft.com/en-us/library/windows/desktop/ms645530%28v=vs.85%29.aspx 鼠标相关函数:htt ...

  9. EditPlus 3.41 p1115 0728注册码

    EditPlus (2012-7-28 epp341p1115_0728) 注册码: 注册名:Free User 注册码:6AC8D-784D8-DDZ95-B8W3A-45TFA 注册名:Www.S ...

  10. 笔记:webpack 打包参数 mode development

    webpack 打包参数 mode development 在开发时使用 webpack 打包后不压缩,所以只需要在 webpack 打包命令中加上 --mode mode development 即 ...