近来的DEV搞更多。试图寻找专业点的程序做,对这样一个小小的研究。

本篇是多么真实,现在的记录,可以通过点击这条线的子表的内容相关联的行中打开的列表。的影响,如下面的:

以下是实现过程:

1.设计器里面:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGF0YWdn/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

在MainView以下新建一个EntryView(create a new level) 这样这个gridControl里面就有2个gridView了。

然后打开你的设计器(Run Designer)

假设你仅仅是測试,或者甲方对美丑没要求时,对,你神马都不须要设置了。

2.绑定数据

和正常的绑定一样,gridControl.Datasource = DataSet.table[0];

不同的是。这个DataSet里面要有2个表,table1和table2须要是主从表的关系(主表有个字段是从表的外键,形成关系),比方:就不比方了,有点懒。

存储过程:

select OutStockPlan.* from T_OutStock_Plan  as OutStockPlan where OutStockPlan.BillDate< @maxDate_Invo and OutStockPlan.BillDate> @minDate_Invo

   

select ospe.* from T_OutStock_Plan as osp

left join T_OutStock_Plan_Entry ospe on osp.OnlyID=ospe.VoucherID

where osp.BillDate< @maxDate_Invo and osp.BillDate> @minDate_Invo

一个存储过程同一时候返回2个表。第一条语句返回主表的行,第二条语句返回这些主表信息相应的子表行。仅仅要不嫌麻烦,你要分开运行也能够。我还是有点懒。

Access运行:

WMSDS relationDS = this._WMSAccess.Select_OutPlanAndEntry_Relation(dateS, dateE); //运行上面的存储过程。返回一个DataSet。包括table1和table2

DataRelation dr = new DataRelation("通知分录", new DataColumn[] { relationDS.T_OutStock_Plan.Columns["OnlyID"] }, new DataColumn[] { relationDS.T_OutStock_Plan_Entry.Columns["VoucherID"] });   //new一个表关系,绑定2个表的键

relationDS.Relations.Add(dr);    //加入表关系到dataset



前台绑定:

 grid_VoucherPlanList.DataSource = relationDS.Tables["T_OutStock_Plan"]; //把主表当成datasource绑定给gridControl

收工。

追加:AllowOnlyOneMasterRowExpanded = True  那么同一时候仅仅能展开一行,假设是false就能够随意展开。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGF0YWdn/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

假设不想显示那个通知分录的tab,能够设置ShowDetailTabs为false。 只是为毛是展开一个tab呢?是不是意味着一个主表关联多个子表的时候能够同一时候展开,我懒不试了。

再次追加:ColumnAutoWidth属性。 当子View里面想bestFitColumn的时候,须要把子表的ColumnAutoWidth设置为false。 可是假设主View的ColumnAutoWidth设置为True的时候,子表的设置将无效, 所以想把列宽都fit的话2个view都设置为false吧。

再再次追加:假设想隐藏子View中的某一列的话,加入主View事件。例如以下:

private void gridView1_MasterRowExpanded(object sender, DevExpress.XtraGrid.Views.Grid.CustomMasterRowEventArgs e)

        {

            DevExpress.XtraGrid.Views.Grid.GridView aView = gridView1.GetDetailView(e.RowHandle, e.RelationIndex) as DevExpress.XtraGrid.Views.Grid.GridView;





            if (aView != null)

            {

                aView.Columns["VoucherID"].Visible = false;    //aView就是子View。设置VID 列为隐藏

                aView.BestFitColumns();

            }

        }

版权声明:本文博主原创文章,博客,未经同意不得转载。

DEV GridView嵌套的更多相关文章

  1. Dev gridView中设置自适应列宽和日期显示格式、金额的显示格式

    在Dev GridView控件中,数据库中表数据日期都是长日期格式(yyyy-MM-dd HH:mm:ss),但显示在控件变成短日期格式(yyyy-MM-dd),金额显示要显示精确的数值, 比如80. ...

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

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

  3. Winform 中DataGridView、dev Gridview控件添加行标题

    有很多种方法. 1.可以在DataGridView控件中的RowStateChanged事件改变行标题单元格的值(Row.HeaderCell.Value) /// <summary> / ...

  4. Dev GridView行拖拽

    http://blog.csdn.net/keyrainie/article/details/8513802 http://www.cnblogs.com/qq4004229/archive/2012 ...

  5. GridView嵌套在ScrollView里只有一行的问题

    遇到这个问题 网上找到的解决办法: 方法一:就是上面说的通过计算出来ListView或者GridView中的子列高度和 进行显示:public void setListViewHeightBasedO ...

  6. dev GridView常用属性,事件

    一.属性 1.GridControl属性 //允许拖拽行 gridControl1.AllowDrop = true; 2.GridView属性 //不可编辑 gridView1.OptionsBeh ...

  7. Dev gridview新增一行自动获得焦点并打开编辑模式

    1.gridview添加一行自动获得焦点实现方式: 关键代码: GarsonZhang dt.Rows.Add("1", "2"); gridView1.Foc ...

  8. Dev GridView 获取选中分组下的所有数据行 z

    现在要在DevExpress 的GridView 中实现这样一个功能.就是判断当前的选中行是否是分组行,如果是的话就要获取该分组下的所有数据信息. 如下图(当选中红框中的分组行事.程序要获取该分组下的 ...

  9. Dev GridView RowCellClick活动MouseDown事件

    GridView可编辑.在无声的思想左键点击"进入编辑". 将GridView的OptionsColumn.AllowEdit至false离开时触发RowCellClick. 但有 ...

随机推荐

  1. Preference如何增加在activity生命周期监听器

    转载请注明出处:http://blog.csdn.net/droyon/article/details/41313115 本文主要介绍Preference凭什么Activit一些逻辑的生命周期,使. ...

  2. javascript---在自由落体实现

    实现一些简单的物业自由落体需要理解: clientHeight:浏览器客户机的整体高度 offsetHeight:物(实例div)高低 offsetTop:从对象client最顶层的距离 简单demo ...

  3. 轮播图片 高效图片轮播,两个imageView实现

    该轮播框架的优势: 文件少,代码简洁 不依赖任何其他第三方库,耦合度低 同时支持本地图片及网络图片 可修改分页控件位置,显示或隐藏 自定义分页控件的图片,就是这么个性 自带图片缓存,一次加载,永久使用 ...

  4. jsp简单练习-简单的下拉表单

    <%@ page contentType="text/html; charset=gb2312" %> <html> <body> <fo ...

  5. 在深入分析:Android在app之间的相互作用(一个,使用Action)

    我们开发Android App时间应用,有些需求,我们需要启动另一App为了应对一些逻辑.例如,我们需要映射基于地址调用系统或相关Map App,所以,我们不自己有App在相应的功能的制备.而是通过I ...

  6. C#使用SqlBulkCopy将DataTable写入数据库的表中(表不存在则创建新表,数据存在则更新,不存在则插入)

    原文:.net使用SqlBulkCopy导入数据(创建新表) .net2.0后ado.net提供了一个快速导入sqlserver的方法sqlbulkcopy.导入效率非常高.  包装了一个简单的sql ...

  7. BZOJ 1052 HAOI2007 覆盖问题 二分法答案+DFS

    标题效果:特定n点.涵盖所有的点与同方三面.斧头要求方垂直边界,最小平方的需求方长值 最大值至少.答案是很明显的二分法 但验证是一个问题 考虑仅仅有三个正方形,故用一个最小矩形覆盖这三个正方形时至少有 ...

  8. Chapter 1 Securing Your Server and Network(2):管理服务的SIDs

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/37927319 ,专题文件夹:http://blog.csdn.net/dba_huang ...

  9. iOS开发多线程篇—多线程简介

    iOS开发多线程篇-多线程简介 一.进程和线程 1.什么是进程 进程是指在系统中正在执行的一个应用程序 每一个进程之间是独立的.每一个进程均执行在其专用且受保护的内存空间内 比方同一时候打开QQ.Xc ...

  10. 开源Math.NET基础数学类库使用(07)一些常用的数学物理常数

    原文:[原创]开源Math.NET基础数学类库使用(07)一些常用的数学物理常数               本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/ ...