<!-- [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;
分享到:
相关推荐
在这个特定的问题中,用户遇到了一个常见但棘手的异常情况:在主从表中,当尝试对已有主表记录进行从表的二次新增记录时,新添加的记录不会立即显示,只有在刷新界面后才会出现。 这个问题可能是由以下几个原因导致...
例如,`Unit1.pas`中的代码可能会有一个函数,用于遍历cxGrid的主从表,收集所有必要的数据: ```delphi function ExportGridRecords(grid: TcxGrid; masterTable, detailTables: TStringList): Integer; var i, j...
本Demo——"cxGrid主从表Demo"显然是一个关于如何在Delphi中实现cxGrid主从表功能的实例教程。 主从表是一种常见的数据库数据展示方式,主表通常包含一组主要记录,从表则关联这些主要记录,显示与之相关的详细信息...
接下来,你需要在cxGrid中添加两个View:一个用于主表,另一个用于从表。在主View的Level中,设置相应的Column来显示主表的字段。然后,在子View的Level中,设置Column以显示从表的字段。关键在于设置子View的Master...
主从表格是一种常见的数据组织形式,它将一个主要的数据表(主表)与一个或多个相关的次级数据表(从表)关联起来,通常用于显示层次结构的数据。 在cxGrid中实现非DB主从表格,我们需要进行以下几个关键步骤: 1....
在C++ Builder或Delphi开发环境中,cxGrid可以方便地处理主从关系的数据,即一个主要表格(主表)与一个或多个关联的子表格(从表)。导出cxGrid到Excel的功能有助于用户快速地整理和分析大量数据,以及方便地分享给...
从表中需要有一个外键字段,该字段与主表的主键字段相匹配。 5. **设置外键关系**:在从表的TClientDataSet中,添加一个新字段作为外键,该字段的值应与主表的主键字段相同。在Constraints属性中,添加一个...
CXGrid提供了一种直观的方式来显示和编辑数据,包括主从表关系,这种关系允许用户在一个表格中查看主数据,在另一个表格中查看与主数据相关联的详细信息。"获知主从cxgrid的从表记录数"这一主题,涉及到如何获取从表...
cxGrid的主从表结构允许在一个网格中同时显示多个数据表的相关信息,主表通常包含一个或多个与从表关联的字段。从表是基于主表中某个字段值来筛选出的数据,用于展示更详细的信息。在Delphi7中,获取从表的记录数是...
在开发过程中,有时候我们需要展示复杂的数据结构,这时cxGrid控件的多表头功能就显得尤为重要。cxGrid是Delphi和C++ Builder等RAD Studio环境下常用的一款强大的网格控件,它提供了丰富的自定义功能,包括多级表头...
DevExpress是一款强大的Windows应用程序开发工具包,它提供了丰富的UI控件,包括cxGrid,这是一个功能强大的网格控件,常用于展示和编辑数据。在Delphi开发环境中,cxGrid因其灵活性、可定制性和性能而受到广大...
实现主从表中每次只能展开一个组,可以监听`TableView`的`OnExpanded`事件,关闭已展开的组。 #### 34. 动态创建层级和视图 动态创建`cxGrid`的层级和视图,可以在运行时向`cxGrid`的`DBTableView`集合中添加新的`...
DevExpress的cxGrid是一款功能强大的网格控件,它允许用户以表格的形式显示和编辑数据。在这个场景中,"多个cxGrid之间拖曳记录"指的是在不同的cxGrid控件之间通过鼠标拖放操作来移动或复制记录的功能。这个特性使得...
3. 在cxGrid中添加两个Level,一个代表主表,另一个作为子Level代表从表。 4. 配置两个TableView,将它们分别连接到DataSource1和DataSource2。 5. 设置主表的`KeyFieldNames`为`id`,从表的`DetailKeyFieldName`为`...
在IT领域,特别是涉及到用户界面开发时,"cxGrid动态建多表头及列"是一个重要的主题。cxGrid是一款流行的Delphi和C++ Builder组件,用于创建强大的数据网格控件,能够灵活地显示和操作表格数据。这个话题的核心是...
关于cxGrid不能导出从表到EXCEL的修正
在Delphi编程环境中,CXGrid是一个非常流行的组件库,它为开发者提供了强大的数据网格控件,用于显示和编辑数据。这个组件提供了丰富的自定义选项,包括颜色设置,使其能够适应各种用户界面需求。本篇文章将深入探讨...
CXGrid的一个显著特点是其多层次结构设计,允许开发者构建复杂的数据展示界面。 - **层次概念**:CXGrid的层次(Level)概念类似于PageControl,意味着它可以包含多个级别的数据展示。例如,`cxGrid1Level1`代表第...
cxGrid 是一个功能强大且灵活的网格控件,广泛应用于各种软件开发中。本文汇总了 cxGrid 的多种使用技巧和解决方案,涵盖了从基本操作到高级功能的多个方面。 去掉 cxGrid 中台头的 Box cxGrid 的头部默认显示一个 ...
在代码层面,我们首先创建一个Spire.XLS的对象,然后通过遍历cxGrid的View和Level,获取每个Column的Caption和SubCaption,将它们作为单元格的值写入Excel工作表的相应位置。同时,别忘了处理数据行,将cxGrid中的...