问题标签 [tcxgrid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - 刷新 tcxgrid 而不丢失当前选定/突出显示的行
使用德尔福 XE2。
我有一个连接到数据源的 tcxgrid,它正在查看数据库中的表,cxgrid 正在显示该表中的字段和记录。
有谁知道如何在不丢失当前选定行的情况下刷新 tcxgrid?
谢谢,
delphi - 将 CxGridBandedTableView 导出到 Excel 时删除带分隔符
我有一个带有 TCxGridDBBandedTableView 的 TCxGrid (DevExpress)。此视图有 2 个波段,每个波段都有其列。
我使用 ExportGridToExcel(来自 DevExpress 的 cxGridExportLink 单元)将网格导出为 excel。例子:
网格配置
- 乐队 1:
- => A列
- => B栏
- 乐队 2:
- => A列
- => B栏
- => C列
excel是如何生成的:
- A 栏(Band 1 的内容:A 栏)
- B栏(Band 1的内容:B栏)
- C 列(内容为空,因为这里是第二个波段的开始)
- D 栏(Band 2 的内容:A 栏)
- E 栏(Band 2 的内容:B 栏)
- F 栏(Band 2 的内容:C 栏)
我希望它是怎样的:
- A 栏(Band 1 的内容:A 栏)
- B栏(Band 1的内容:B栏)
- C 栏(Band 2 的内容:A 栏)
- D 栏(Band 2 的内容:B 栏)
- E 栏(Band 2 的内容:C 栏)
有没有办法可以将其配置为在生成 excel 时不将“带分隔符”视为空列?
delphi - TcxGrid 查找分组行数
我正在使用带有分组的 TcxGrid。我想知道有多少分组行,但我似乎找不到合适的属性。有一个<mytableview>.GroupedItemCount
但仅指网格分组的列数。
基本上我只想知道是否所有组都已折叠。我可以通过观看GroupRowExpanded
和GroupRowCollapsed
事件来计算扩展组的数量,但感觉应该有更好的方法。
我目前的计划是将组数与<mytableview>.ViewData.RowCount
. 如果它们不同,那么我必须有一个扩展组。
我猜答案很简单.. 但是 TcxGrid 有很多选择,我找不到合适的选择。
delphi - cxDateNavigator1 将周末文本颜色设置为红色
在TcxDateNavigator
中,是否可以用不同的文本颜色(红色)标记周末(星期六、星期日)?
TMS 已实现此功能,但我似乎无法在此 DevExpress 组件中找到该功能。
delphi - TcxGridDBBandedColumn 中的 TdxDBTreeListColumn.OnFilterStringUnformat 模拟在哪里?
我们在我们的应用程序中使用 DevExpress ExpressQuantumGrid v3 (TdxDBGrid) 和 ExpressQuantumGrid Suite v12 (TcxGrid)。对于 TdxDBGrid,我们使用 TdxDBTreeListColumn.OnFilterStringFormat 和 OnFilterStringUnformat 事件来允许我们使用与列关联的基础数据类型的值的字符串表示形式进行过滤。例如,我们可能以毫秒为单位存储时间段,但以 HH:MM:SS 格式显示。
但我不知道如何使用 TcxGrid 做到这一点。虽然我可以使用 TcxGridDBBandedColumn.OnGetFilterDisplayText 作为 TdxDBTreeListColumn.OnFilterStringFormat 的模拟,但我仍然坚持如何实现 TdxDBTreeListColumn.OnFilterStringUnformat 提供的功能,以确保我可以从用户指定的显示值转换为存储在底层数据集。
TcxGrid 是如何实现这个功能的?
delphi - cxgrid 使用 cxDateEdit 扩展分组数据
我在 cxGrid 中显示的数据按日期(折叠)分组。有没有一种方法可以使用 cxDateEdit 为特定日期“仅”扩展此分组数据?
现在,我能做的就是使用按钮折叠或展开所有数据:
我想仅针对 cxDateEdit 中显示的日期展开记录。如果没有找到所需日期的数据,可能会显示一条消息。
编辑:我找到了一种方法:
但是,如果 cdDateEdit 中显示的日期在 cxGrid 中不存在,我无法弄清楚如何闪烁消息。
delphi - 循环遍历 cxgrid 上的记录并更新字段/列
我有一个 cxGrid,我在其中应用过滤器来选择某些记录。完成后,我希望能够更新网格中的字段/列以标记要用于下一个操作的每条记录。我无法弄清楚这一点
也许我在描述我的问题时不够具体。我有 cxGrid,我在其中应用了过滤器来选择一些记录。然后我需要做的是单击列标题,然后将这些记录的名为 fldselected 的字段设置为 True。
delphi - 更新 cxGrid 中的字段表现奇怪
我有一个函数来更新在答案的帮助下制作的 cxGrid循环遍历 cxgrid 上的记录并更新字段/列
但它有时表现得有点奇怪。如果我使用 cxGrid 打开表单并单击列标题而不执行任何其他操作,则记录会更新好。但是如果“选择器栏”从顶部移开,则标记的记录不会更新。我确信这是一个需要更改的属性,但是是哪一个。
变量 fSelected 在 FormShow 中设置为 False,这样用户也可以取消选择记录。
Delphi XE7、DevExpress 14.2.2、UniDAC 5.5.12 用于数据库访问
评论:根据 MartynA 的回答和输入,我最终得到了以下解决方案
delphi - cxGrid 不会向上滚动
我在使用 cxGrid 时遇到了一个奇怪的问题。执行查询以获取所有记录后,记录将显示在网格中。它是一个简单的查询:
'select * from mytable order by name asc'
但是,如果我尝试选择网格中的第一条记录,则网格会跳转到网格中间的某个随机记录。我无法从网格中的第一条记录滚动到网格跳转到的那个。但是,在该记录之外,我可以正常上下滚动。我不能从中间向上滚动,也不能在那里选择任何记录。看来我的网格卡在中间记录上。
如果我将 DataController 更改为
网格模式 = 真
然后我可以毫无问题地滚动,但我失去了网格的功能。这不是数据集问题,因为当我用普通网格替换网格时,滚动是有效的。
所以我想知道这是否是某种错误,还是网格中的设置被意外打开/关闭。
附言。FindPanel 可见。
delphi - 按字段的字母顺序对 cxGrid 进行排序/排序
如何按字段的字母顺序对 cxGrid 进行排序/排序?
谢谢,