问题标签 [tdbgrid]

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.

0 投票
1 回答
287 浏览

delphi - 有什么简单的方法可以从 DBGrid 中进行选择吗?

有没有什么简单的方法可以像在 Excel 文件中选择范围一样从 DBGrid 中进行选择?

0 投票
0 回答
3668 浏览

delphi - DBGrid 自定义绘制 gdRowSelected 不起作用

我通过监视OnDrawColumnCell为列着色来自定义在 DBGrid 中绘图。当我阅读事件处理程序State时,我成功地捕获gdSelected了所选单元格中的字体并为其着色。但是当我 monitor 时gdRowSelected,它永远不存在,因此我无法判断何时选择了一行。

为什么从来不gdRowSelected申请?这是一个错误,还是故意的功能?

这是我目前的绘制方式。选择一行时,应在该行中以颜色为红色显示文本。

该文件指出

gdRowSelected - 该行被选中。

但它从来没有在该州。


编辑

我尝试启用该选项dgRowSelect,它确实进行了更改,但它仍然只监视gdSelectedenum 而从不监视gdRowSelecteddgRowSelect启用时,整个gdSelected行中的每个单元格都处于状态。但仍然gdRowSelected从未处于该状态。

0 投票
2 回答
1898 浏览

delphi - 确定双击是否在 TDBGrid 的标题中

我想知道何时在 TDBGrid 中双击记录,但无论单击网格中的哪个位置都会触发 OnDblClick 事件。

在 Delphi 中是否有一种很好的干净方法来确定 TDBGrid 双击是否在标题上?

0 投票
1 回答
296 浏览

sql-server - 右键单击TDBGRID delphi2007

当我右键单击 DBGrid 时,它会打开一个弹出菜单,但它也会在右键单击时选择(突出显示)我当前所在的单元格。

有没有办法在右键单击时不选择(突出显示)我结束的单元格并且只打开弹出菜单?

最好的问候约瑟夫

0 投票
3 回答
1444 浏览

delphi - 更改 TDBGrid 行的背景?

我想模拟 TDBGrid 选定行 (dgRowSelect) 的资源管理器主题,而不是那种蓝色。我怎样才能做到这一点?

以下是预期结果的示例:

在此处输入图像描述

0 投票
1 回答
1997 浏览

delphi - DBGrid XE3 背景颜色

在此处输入图像描述

您可以看到这些行是非白色的。网格其余部分的背景为白色。如何用颜色填充白色区域?

0 投票
0 回答
1264 浏览

delphi - 模拟单元格/行单击 dbgrid 的选定行。德尔福

我的表单上有一个 dbgrid,其中包含在单击用户行时在面板中显示用户信息和用户图像的代码(oncellclick 过程)。代码使用点击的行的id来显示数据进行编辑并显示用户的图像(与用户的id一起保存在文件夹中)。

我还有一个搜索按钮,它选择一个 id 与搜索的 id 相同的用户。这可以正常工作,因为用户的行是唯一显示的行,并且在搜索后被选中。

但是,用户信息未显示在面板中,因为尚未单击所选行。有没有办法模拟选定行的单元格单击,以便在搜索完成后显示用户信息?

我试过使用Grid.Perform(WM_LBUTTONDOWN,0,0)没有成功。

0 投票
0 回答
4122 浏览

delphi - 调用 OnDrawColumnCell 过程 Delphi DBGrid

我有DBGrid它存储客户信息和会员资格的到期日期。我在颜色行的OnDrawColumnCell事件中使用以下代码,DBGrid其中包括过期(蓝绿色)或过期(红色)的会员资格:

我的表单上还有一个用于重置 DBGrid 的按钮。这允许用户在搜索完成后显示完整的客户列表(返回少量客户)。

按下重置按钮时出现我的问题。ResetMemberGrid当显示完整列表时,该按钮正确执行以下 SQL 函数(在名为 的过程中)。

从客户中选择 *

但是,DBGrid 不再着色。所有行都保持白色。我无法调用该grdMainDrawColumnCell过程,因为它需要我不知道的参数。有没有办法调用 DrawColumnCell 过程?我试图重绘、无效和刷新 DBGrid,但没有成功。谢谢。

0 投票
0 回答
129 浏览

delphi - 控制主/从关系中详细数据的缓存

我有一个可在此处下载的示例应用程序。该应用程序包含两个 TClientDataSet 对象,一个主对象和一个详细对象。关系是通过字段 id (master) 提供参数 :id (detail) 定义的(它是类型 master 字段到详细参数的链接)。它使用 dbexpress,需要在 MS SQL Server 2008 R2 或 2012 上运行(默认情况下它连接到 localhost/master)并且它不读取任何数据,它只运行一些生成人工记录的查询。出于测试目的,详细查询实现了 1 秒的延迟。

根据我对这个应用程序的观察,当我浏览主记录时,似乎缓存了详细记录。如果我导航到第 5 行,然后转到第 1 行,然后返回第 5 行,则第 5 行的详细信息不会刷新(如 dt 字段所证明的那样)。

我的问题:是否有可能使用这种模式(即主/详细 TClientDataSet 对象)来控制详细记录的缓存?更具体地说,有没有办法在导航回同一行时始终刷新详细数据?

谢谢

0 投票
1 回答
2438 浏览

delphi - 如何在delphi xe2中更改启用样式的DBGrid的选定行的边框颜色和背景颜色?

我在应用程序中使用了默认样式“Amethyst Kamri”。我的 DBgrid 选择的行颜色会根据样式而变化。但我想更改选定行的边框颜色和背景颜色。我使用以下问题的答案更改字体样式。

https://stackoverflow.com/a/9472000

现在我想改变颜色。这个怎么做?