`
omygege
  • 浏览: 1386713 次
文章分类
社区版块
存档分类
最新评论

如何让 CXGRID 主从表任何时候只能展开一个组

 
阅读更多

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->

CXGRID 主从表任何时候只能展开一个组

procedure TForm1.ADetailDataControllerCollapsing(

ADataController: TcxCustomDataController; ARecordIndex: Integer;

var AAllow: Boolean);

var

I: Integer;

C: Integer;

begin

AAllow := False;

C := 0;

for I := 0 to ADataController.RecordCount - 1 do

begin

if ADataController.GetDetailExpanding(I) then

Inc(C);

if C > 1 then

AAllow := True;

end;

end;

procedure TForm1.ADetailDataControllerExpanding(

ADataController: TcxCustomDataController; ARecordIndex: Integer;

var AAllow: Boolean);

begin

ADataController.CollapseDetails;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

cxGrid1DBTableView1.DataController.OnDetailExpanding := ADetailDataControllerExpanding;

cxGrid1DBTableView1.DataController.OnDetailCollapsing := ADetailDataControllerCollapsing;

end;

分享到:
评论

相关推荐

    cxGrid主从表从表二次新增记录不显示

    在这个特定的问题中,用户遇到了一个常见但棘手的异常情况:在主从表中,当尝试对已有主表记录进行从表的二次新增记录时,新添加的记录不会立即显示,只有在刷新界面后才会出现。 这个问题可能是由以下几个原因导致...

    导出cxGrid主从表记录

    例如,`Unit1.pas`中的代码可能会有一个函数,用于遍历cxGrid的主从表,收集所有必要的数据: ```delphi function ExportGridRecords(grid: TcxGrid; masterTable, detailTables: TStringList): Integer; var i, j...

    cxGrid主从表Demo.rar

    本Demo——"cxGrid主从表Demo"显然是一个关于如何在Delphi中实现cxGrid主从表功能的实例教程。 主从表是一种常见的数据库数据展示方式,主表通常包含一组主要记录,从表则关联这些主要记录,显示与之相关的详细信息...

    Delphi cxGrid主从表配置设置Demo

    接下来,你需要在cxGrid中添加两个View:一个用于主表,另一个用于从表。在主View的Level中,设置相应的Column来显示主表的字段。然后,在子View的Level中,设置Column以显示从表的字段。关键在于设置子View的Master...

    非DB的cxGrid主从表格

    主从表格是一种常见的数据组织形式,它将一个主要的数据表(主表)与一个或多个相关的次级数据表(从表)关联起来,通常用于显示层次结构的数据。 在cxGrid中实现非DB主从表格,我们需要进行以下几个关键步骤: 1....

    导出cxGrid主从表记录到Excel

    在C++ Builder或Delphi开发环境中,cxGrid可以方便地处理主从关系的数据,即一个主要表格(主表)与一个或多个关联的子表格(从表)。导出cxGrid到Excel的功能有助于用户快速地整理和分析大量数据,以及方便地分享给...

    利用delphi中的内存表来制作主从表

    从表中需要有一个外键字段,该字段与主表的主键字段相匹配。 5. **设置外键关系**:在从表的TClientDataSet中,添加一个新字段作为外键,该字段的值应与主表的主键字段相同。在Constraints属性中,添加一个...

    获知主从cxgrid的从表记录数

    CXGrid提供了一种直观的方式来显示和编辑数据,包括主从表关系,这种关系允许用户在一个表格中查看主数据,在另一个表格中查看与主数据相关联的详细信息。"获知主从cxgrid的从表记录数"这一主题,涉及到如何获取从表...

    Delphi7下cxgrid的从表记录数(测试有效).zip

    cxGrid的主从表结构允许在一个网格中同时显示多个数据表的相关信息,主表通常包含一个或多个与从表关联的字段。从表是基于主表中某个字段值来筛选出的数据,用于展示更详细的信息。在Delphi7中,获取从表的记录数是...

    cxGrid多表头设置及应用

    在开发过程中,有时候我们需要展示复杂的数据结构,这时cxGrid控件的多表头功能就显得尤为重要。cxGrid是Delphi和C++ Builder等RAD Studio环境下常用的一款强大的网格控件,它提供了丰富的自定义功能,包括多级表头...

    编程笔记:DevExpress控件的cxGrid多行表头设置(一步一步教你做).doc

    DevExpress是一款强大的Windows应用程序开发工具包,它提供了丰富的UI控件,包括cxGrid,这是一个功能强大的网格控件,常用于展示和编辑数据。在Delphi开发环境中,cxGrid因其灵活性、可定制性和性能而受到广大...

    delphi控件cxGrid用法大全

    实现主从表中每次只能展开一个组,可以监听`TableView`的`OnExpanded`事件,关闭已展开的组。 #### 34. 动态创建层级和视图 动态创建`cxGrid`的层级和视图,可以在运行时向`cxGrid`的`DBTableView`集合中添加新的`...

    多个cxGrid之间拖曳记录

    DevExpress的cxGrid是一款功能强大的网格控件,它允许用户以表格的形式显示和编辑数据。在这个场景中,"多个cxGrid之间拖曳记录"指的是在不同的cxGrid控件之间通过鼠标拖放操作来移动或复制记录的功能。这个特性使得...

    bcb 与 cxGrid

    3. 在cxGrid中添加两个Level,一个代表主表,另一个作为子Level代表从表。 4. 配置两个TableView,将它们分别连接到DataSource1和DataSource2。 5. 设置主表的`KeyFieldNames`为`id`,从表的`DetailKeyFieldName`为`...

    cxGrid动态建多表头及列

    在IT领域,特别是涉及到用户界面开发时,"cxGrid动态建多表头及列"是一个重要的主题。cxGrid是一款流行的Delphi和C++ Builder组件,用于创建强大的数据网格控件,能够灵活地显示和操作表格数据。这个话题的核心是...

    DevExpress VCL v4.9 for D7 关于cxGrid导出从表到EXCEL的修正

    关于cxGrid不能导出从表到EXCEL的修正

    delphi中cxgrid 颜色设置

    在Delphi编程环境中,CXGrid是一个非常流行的组件库,它为开发者提供了强大的数据网格控件,用于显示和编辑数据。这个组件提供了丰富的自定义选项,包括颜色设置,使其能够适应各种用户界面需求。本篇文章将深入探讨...

    CXGrid中文教程

    CXGrid的一个显著特点是其多层次结构设计,允许开发者构建复杂的数据展示界面。 - **层次概念**:CXGrid的层次(Level)概念类似于PageControl,意味着它可以包含多个级别的数据展示。例如,`cxGrid1Level1`代表第...

    cxGrid使用技巧汇总(带目录)

    cxGrid 是一个功能强大且灵活的网格控件,广泛应用于各种软件开发中。本文汇总了 cxGrid 的多种使用技巧和解决方案,涵盖了从基本操作到高级功能的多个方面。 去掉 cxGrid 中台头的 Box cxGrid 的头部默认显示一个 ...

    cxGrid带正副标题导出Excel

    在代码层面,我们首先创建一个Spire.XLS的对象,然后通过遍历cxGrid的View和Level,获取每个Column的Caption和SubCaption,将它们作为单元格的值写入Excel工作表的相应位置。同时,别忘了处理数据行,将cxGrid中的...

Global site tag (gtag.js) - Google Analytics