惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
Engineering at Meta
Engineering at Meta
I
InfoQ
T
Tailwind CSS Blog
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
H
Help Net Security
博客园 - 【当耐特】
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss
腾讯CDC
雷峰网
雷峰网
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
D
Docker

博客园 - 芸

Xtragrid的图片显示 N×N矩阵螺旋打印输出 数组int[],int[,]的区别 转载 使用ActiveReport for .net 进行报表开发 oracle数据库之间的数据拷贝 VS2003 水晶报表服务器端部署 SQL操作全集 合并多行的字符串—oarcle(转) 在网页上使用户按Enter键自动跳到下一控件,并禁止使用鼠标右键和其他快捷键的HTC控件 字符串样式的格式化 oracle 存储过程的基本语法 2007年终总结 JavaScript面向对象 dotNet常用快捷键 最美的十大经典爱情句子 自定义控件脚本校验 在DataGrid中使用单选框 ActiveReport子报表 正则表达式收藏
主从表XtarGrid设计
· 2007-11-20 · via 博客园 - 芸

   

   
  
    要实现的效果如上图所示,其实主从表是同一条记录,但是客户名称、地址需要独立的显示出来。所以实现方法如下:
设计的主表为GridView,从表为CardView
XtraGrod主要设置的项有
    MainView下的OptionDetail
        AllowZoomDetail:是否允许放大子表。界面上表现是在记录最后面有个放大镜
        ShowDetailTabs:是否现在子表Tab,界面上表现将子表的记录都显示在一个Tab页里面,而且有边框,Title设置
        EnableMasterViewMode:是否可用主从表模式。如果设为false,子表不会显示
    CardView下的设置
        CardInterval:各个卡片的间距
        CardWidth:卡片宽度,如果在属性里面设置。
        DetailHeight:卡片高度,最小只能设置到50。所以要设置比50更小的值的话,可以通过代码赋值
        DetailTabHeaderLocation:卡片标题位置
        ViewCaptionTab标题,如果没有设置,默认取该子表的Level的名字
        CardCaptionFormat:卡片Caption
       
        OptionView下的属性设置
             ShowCardCaption:是否显示卡片Caption
             ShowFieldCaptions:是否显示列名
             ShowHorzScollBar:是否显示水平滚动条
             ShowQuickCustomizeButton:是否显示Customize按钮
            
绑定代码
    //以下代码假定ds数据集合中已经存在主从表数据
    //添加主从表关系,其中关系名“Level1”跟子表的Level名要一致
    //如果是单个关键字,方法如下
    ds.Relations.Add("Level1", ds.Tables[0].Columns["CECODE"], ds.Tables[1].Columns["CECODE"]);
    //如果是复合关键字,方法如下
    DataColumn[] parentCoumns ={ ds.Tables[0].Columns["CECODE"], ds.Tables[0].Columns["CECSCD"] };
    DataColumn[] childCoumns ={ ds.Tables[1].Columns["CECODE"], ds.Tables[1].Columns["CECSCD"] };
    ds.Relations.Add("Level1", parentCoumns, childCoumns);
   
    //绑定数据
    DataViewManager dvManager = new DataViewManager(ds);
    DataView dv = dvManager.CreateDataView(ds.Tables[0]);
    xtraGrid1.DataSource = dv;
   
展开子表代码
    int dataRowCount = gridView1.DataRowCount;
    for (int rHandle = 0; rHandle < dataRowCount; rHandle++)
    {
        gridView1.SetMasterRowExpanded(rHandle, true);
    }