DEV GridView嵌套
近来的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嵌套的更多相关文章
- Dev gridView中设置自适应列宽和日期显示格式、金额的显示格式
在Dev GridView控件中,数据库中表数据日期都是长日期格式(yyyy-MM-dd HH:mm:ss),但显示在控件变成短日期格式(yyyy-MM-dd),金额显示要显示精确的数值, 比如80. ...
- dev gridview指定单元格cell获取坐标
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo Info2 = gvQueryResult.GetViewInfo() as DevExpre ...
- Winform 中DataGridView、dev Gridview控件添加行标题
有很多种方法. 1.可以在DataGridView控件中的RowStateChanged事件改变行标题单元格的值(Row.HeaderCell.Value) /// <summary> / ...
- Dev GridView行拖拽
http://blog.csdn.net/keyrainie/article/details/8513802 http://www.cnblogs.com/qq4004229/archive/2012 ...
- GridView嵌套在ScrollView里只有一行的问题
遇到这个问题 网上找到的解决办法: 方法一:就是上面说的通过计算出来ListView或者GridView中的子列高度和 进行显示:public void setListViewHeightBasedO ...
- dev GridView常用属性,事件
一.属性 1.GridControl属性 //允许拖拽行 gridControl1.AllowDrop = true; 2.GridView属性 //不可编辑 gridView1.OptionsBeh ...
- Dev gridview新增一行自动获得焦点并打开编辑模式
1.gridview添加一行自动获得焦点实现方式: 关键代码: GarsonZhang dt.Rows.Add("1", "2"); gridView1.Foc ...
- Dev GridView 获取选中分组下的所有数据行 z
现在要在DevExpress 的GridView 中实现这样一个功能.就是判断当前的选中行是否是分组行,如果是的话就要获取该分组下的所有数据信息. 如下图(当选中红框中的分组行事.程序要获取该分组下的 ...
- Dev GridView RowCellClick活动MouseDown事件
GridView可编辑.在无声的思想左键点击"进入编辑". 将GridView的OptionsColumn.AllowEdit至false离开时触发RowCellClick. 但有 ...
随机推荐
- 基于Cocos2dx开发卡牌游戏_松开,这三个国家
1.它实现了动态读取地图资源.地图信息被记录excel桌格.假设你想添加地图,编者excel导入后CocoStudio数据编辑器,然后出口到Json档,到项目的Resource文件夹下. 2.SGFi ...
- AccountManager教程
API阅读 此类提供所述用户接口到集中登记帐户. 用户只需输入一次帐号password后,您将能够访问internet资源. 不同的在线服务用不同的方式来管理用户,所以account manager ...
- WPF中的三维空间(1)
原文:WPF中的三维空间(1) WPF中可以创建三维几何图形,支持3D对象的应用,支持从3D Max等软件将3D文件obj导入设计中,但是目前还不支持将材质同时导入,这样需要在WPF中对3D对象重新设 ...
- Windows Server 2012 R2在桌面上显示计算机/网络图标
原文 Windows Server 2012 R2在桌面上显示计算机/网络图标 从Windows2012开始,微软取消了服务器桌面个性化选项,如何重新调出配置界面,可以使用微软命令调出.具体方法如下: ...
- 重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
原文:重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush [源码下载] 重新想象 Windows 8 Store Apps ...
- Codeforces 385B Bear and Strings
题目链接:Codeforces 385B Bear and Strings 记录下每一个bear的起始位置和终止位置,然后扫一遍记录下来的结构体数组,过程中用一个变量记录上一个扫过的位置,用来去重. ...
- 交换A与B值的四种方法
在网上看到了这样一道面试题,"int A=5,int B=2,怎样交换A与B的值",或许这是一道简单到不能再简单的题,但能作为一道面试题,肯定有其独特之处 大多数人会通过定义第三个 ...
- 【Linux探索之旅】开宗明义+第一部分第一课:什么是Linux?
内容简介 1.课程大纲 2.第一部分第一课:什么是Linux? 3.第一部分第二课预告:下载Linux,免费的噢! 开宗明义 我们总听到别人说:Linux挺复杂的,是给那些追求逼格的程序员用的.咱 ...
- 【Android进阶】快捷图标的创建与移除
注释已经说得很清楚了,如果有疑问,请留言 /** * 添加桌面快捷方式 * * @param view */ public void click1(View view) { if (isExit()) ...
- Intent用法
Intent是android系统中的最佳男主角,Intent翻译成中文的意思是"意图",说白了就是"我想要...",也就是说眼下运行中的Activity想要请其 ...