一:Clone返回新的 DataTable

Clone返回新的 DataTable,与当前的 DataTable 具有相同的架构;Copy:返回新的 DataTable,它具有与该 DataTable 相同的结构(表架构和约束)和数据

DataRow[] _dr = DT.Select("CLSSBH='"+ Filter_Str +"'"); 
DataTable dt = DT.Clone() ; 
DataRow dr ; 
for( int j = 0 ;j < _dr.Length ;j ++ ) 

dr = dt.NewRow() ; 
dr = _dr[j] ; 
dt.ImportRow( dr ) ; 

  
我一般使用DataTable.Rows.Add(row.ItemArray);

二:选中某一行

GridView.FocusedRowHandle =i;
GridView.SelectRow(i);

三:遍历GridView

for (int i = 0; i < gridView1.RowCount; i++)
{
       for (int j = 0; j < gridView1.Columns.Count; j++)
       {
             object val = gridView1.GetRowCellValue(i, gridView1.Columns[j]);
       }
}

四:单元格双击响应

需要先将gridview1.OptionsBehavior.Editable设为false,然后响应gridControl1_DoubleClick事件。

private void gridControl1_DoubleClick(object sender, EventArgs e)
        {
            MouseEventArgs arg = e as MouseEventArgs;
            if (arg == null)
                return;

GridHitInfo hitInfo = gridView1.CalcHitInfo(new Point(arg.X, arg.Y));//获取坐标点
            if (hitInfo.RowHandle >= 0)
            {
                DataRow row = gridView1.GetDataRow(hitInfo.RowHandle);
                _list.Clear();
                _list.Add(row[0].ToString());
                gisResoureMonControl1.SetSelectResource(_list);
            }           
        }

五:GridView隐藏行

需要响应CustomRowFilter事件,用来设置过滤条件;

需要根据原始数据源结合起来,才能方便地隐藏或者显示行;

/// <summary>
        /// 根据条件查询并在表格中显示结果
        /// </summary>
        /// <param name="strCondition"></param>
        private void QueryTable(string strCondition)
        {
            DataTable table = gridControl1.DataSource as DataTable;
            if (table == null)
                return;

_indexlist.Clear();

for (int i = 0; i < table.Rows.Count; i++)
            {
                for (int j = 0; j < table.Columns.Count; j++)
                {
                    if(table.Rows[i][j].ToString().Contains(strCondition))
                    {
                        _indexlist.Add(i);
                        gridView1.RefreshData();
                        break;
                    }
                }
            }

if (_indexlist.Count==0)
                HideGridView();                      
        }

/// <summary>
        /// gridView的行隐藏或显示的过滤条件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gridView1_CustomRowFilter(object sender, RowFilterEventArgs e)
        {
            if (_indexlist.Count == 0)
                return;

if(_indexlist.Contains(-2))
                e.Visible = true;   //全显示
            else if (_indexlist.Contains(-3))
                e.Visible = false;   //全隐藏
            else if(_indexlist.Contains(e.ListSourceRow))
                e.Visible = true;
            else
                e.Visible = false;

e.Handled = true;
        }

Devexpress GridView部分常用操作总结 z的更多相关文章

  1. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  2. linux常用操作指令

    Linux常用操作指令: 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的a(a ...

  3. DevExpress GridView 整理(转)

    DevExpress GridView 那些事儿 1:去除 GridView 头上的 "Drag a column header here to group by that column&q ...

  4. DevExpress GridView 那些事儿

    1:去除 GridView 头上的 "Drag a column header here to group by that column" -->  点击 Run Desig ...

  5. Java8获取当前时间、新的时间日期类如Java8的LocalDate与Date相互转换、ZonedDateTime等常用操作包含多个使用示例、Java8时区ZoneId的使用方法、Java8时间字符串解析成类

     下面将依次介绍 Date转Java8时间类操作 ,Java8时间类LocalDate常用操作(如获得当前日期,两个日期相差多少天,下个星期的日期,下个月第一天等) 解析不同时间字符串成对应的Java ...

  6. linux 常用操作以及概念

    一.常用操作以及概念 查看LINUX发行版的名称及其版本号的命令: lsb_release -a cat /etc/redhat-release(针对redhat,Fedora) 0.rpm包路径:/ ...

  7. DevExpress GridView 整理

    1:去除 GridView 头上的 "Drag a column header here to group by that column" -->  点击 Run Desig ...

  8. [PY3]——内置数据结构(1)——列表及其常用操作

    列表及其常用操作_xmind图         about列表 列表是一个序列,用于顺序存储数据 列表分为两种:ArrayList(用数组实现).LinkedList(用链表实现) 定义与初始化 #l ...

  9. nodepad++ 快捷键加常用操作

    常用快捷键 新建文件 Ctrl+N 打开文件 Ctrl+O 保存文件 Ctrl+S 另存为 Ctrl+Alt+S 全部保存 Ctrl+Shift+S 关闭当前文件 Ctrl+W 打印文件 Ctrl+P ...

随机推荐

  1. 【转】字符编码笔记:ASCII,Unicode和UTF-8

    今天整理笔记,关于NSString转NSData时,什么时候使用NSUTF8StringEncoding,或者NSASCIIStringEncoding,或者 NSUnicodeStringEncod ...

  2. iOS app提交审核 11.13条款问题

    今年开年到现在.提交app应用一直招拒,这个问题我想不明白,感觉就是一个坑.所以贴出来给大家看看. 发件人 Apple11.13 - Apps that link to external mechan ...

  3. objective-c中是如何实现线程同步的?

    多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美.这篇文章主要从线程创建与启动.线程的同步与锁.线程的交互.线 ...

  4. [转]CSS 模块

    CSS 模块 如果你想知道 CSS 最近发展的转折点,你应该选择去观看 Christopher Chedeau 在2014年11月的 NationJS 大会上做的名称为 CSS in JS 的分享.不 ...

  5. ubuntu intelliJ IDEA 12.1.4 安装

    1 php插件 http://plugins.jetbrains.com/plugin/?id=6610 把插件下载到一个目录下,如果插件不兼容,多试几个版本! 2 打开ide, FILE -> ...

  6. .NET异步操作学习之一:Async/Await中异常的处理

    以前的异常处理,习惯了过程式的把出现的异常全部捕捉一遍,然后再进行处理.Async/Await关键字出来之后的确简化了异步编程,但也带来了一些问题.接下来自己将对这对关键字进行学习.然后把研究结果放在 ...

  7. em,pt和px之间的换算

    任意浏览器的默认字体高度16px(16像素).所有未经调整的浏览器都符合: 1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的b ...

  8. yii2源码学习笔记(十三)

    模型类DynamicModel主要用于实现模型内的数据验证yii2\base\DynamicModel.php <?php /** * @link http://www.yiiframework ...

  9. epoll和select区别

    先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法 一.问题引出 联系区别 问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一 ...

  10. TDirectory.Copy复制文件

    描述:复制文件夹以及文件夹下的内容 procedure Copy(const SourceDirName, DestDirName: string) 参数一:源文件夹 参数二:目标文件夹 所在单元:S ...