问题标签 [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.
delphi - 有什么简单的方法可以从 DBGrid 中进行选择吗?
有没有什么简单的方法可以像在 Excel 文件中选择范围一样从 DBGrid 中进行选择?
delphi - DBGrid 自定义绘制 gdRowSelected 不起作用
我通过监视OnDrawColumnCell
为列着色来自定义在 DBGrid 中绘图。当我阅读事件处理程序State
时,我成功地捕获gdSelected
了所选单元格中的字体并为其着色。但是当我 monitor 时gdRowSelected
,它永远不存在,因此我无法判断何时选择了一行。
为什么从来不gdRowSelected
申请?这是一个错误,还是故意的功能?
这是我目前的绘制方式。选择一行时,应在该行中以颜色为红色显示文本。
该文件指出
gdRowSelected - 该行被选中。
但它从来没有在该州。
编辑
我尝试启用该选项dgRowSelect
,它确实进行了更改,但它仍然只监视gdSelected
enum 而从不监视gdRowSelected
。dgRowSelect
启用时,整个gdSelected
行中的每个单元格都处于状态。但仍然gdRowSelected
从未处于该状态。
delphi - 确定双击是否在 TDBGrid 的标题中
我想知道何时在 TDBGrid 中双击记录,但无论单击网格中的哪个位置都会触发 OnDblClick 事件。
在 Delphi 中是否有一种很好的干净方法来确定 TDBGrid 双击是否在标题上?
sql-server - 右键单击TDBGRID delphi2007
当我右键单击 DBGrid 时,它会打开一个弹出菜单,但它也会在右键单击时选择(突出显示)我当前所在的单元格。
有没有办法在右键单击时不选择(突出显示)我结束的单元格并且只打开弹出菜单?
最好的问候约瑟夫
delphi - 更改 TDBGrid 行的背景?
我想模拟 TDBGrid 选定行 (dgRowSelect) 的资源管理器主题,而不是那种蓝色。我怎样才能做到这一点?
以下是预期结果的示例:
delphi - DBGrid XE3 背景颜色
您可以看到这些行是非白色的。网格其余部分的背景为白色。如何用颜色填充白色区域?
delphi - 模拟单元格/行单击 dbgrid 的选定行。德尔福
我的表单上有一个 dbgrid,其中包含在单击用户行时在面板中显示用户信息和用户图像的代码(oncellclick 过程)。代码使用点击的行的id来显示数据进行编辑并显示用户的图像(与用户的id一起保存在文件夹中)。
我还有一个搜索按钮,它选择一个 id 与搜索的 id 相同的用户。这可以正常工作,因为用户的行是唯一显示的行,并且在搜索后被选中。
但是,用户信息未显示在面板中,因为尚未单击所选行。有没有办法模拟选定行的单元格单击,以便在搜索完成后显示用户信息?
我试过使用Grid.Perform(WM_LBUTTONDOWN,0,0)
没有成功。
delphi - 调用 OnDrawColumnCell 过程 Delphi DBGrid
我有DBGrid
它存储客户信息和会员资格的到期日期。我在颜色行的OnDrawColumnCell
事件中使用以下代码,DBGrid
其中包括过期(蓝绿色)或过期(红色)的会员资格:
我的表单上还有一个用于重置 DBGrid 的按钮。这允许用户在搜索完成后显示完整的客户列表(返回少量客户)。
按下重置按钮时出现我的问题。ResetMemberGrid
当显示完整列表时,该按钮正确执行以下 SQL 函数(在名为 的过程中)。
从客户中选择 *
但是,DBGrid 不再着色。所有行都保持白色。我无法调用该grdMainDrawColumnCell
过程,因为它需要我不知道的参数。有没有办法调用 DrawColumnCell 过程?我试图重绘、无效和刷新 DBGrid,但没有成功。谢谢。
delphi - 控制主/从关系中详细数据的缓存
我有一个可在此处下载的示例应用程序。该应用程序包含两个 TClientDataSet 对象,一个主对象和一个详细对象。关系是通过字段 id (master) 提供参数 :id (detail) 定义的(它是类型 master 字段到详细参数的链接)。它使用 dbexpress,需要在 MS SQL Server 2008 R2 或 2012 上运行(默认情况下它连接到 localhost/master)并且它不读取任何数据,它只运行一些生成人工记录的查询。出于测试目的,详细查询实现了 1 秒的延迟。
根据我对这个应用程序的观察,当我浏览主记录时,似乎缓存了详细记录。如果我导航到第 5 行,然后转到第 1 行,然后返回第 5 行,则第 5 行的详细信息不会刷新(如 dt 字段所证明的那样)。
我的问题:是否有可能使用这种模式(即主/详细 TClientDataSet 对象)来控制详细记录的缓存?更具体地说,有没有办法在导航回同一行时始终刷新详细数据?
谢谢
delphi - 如何在delphi xe2中更改启用样式的DBGrid的选定行的边框颜色和背景颜色?
我在应用程序中使用了默认样式“Amethyst Kamri”。我的 DBgrid 选择的行颜色会根据样式而变化。但我想更改选定行的边框颜色和背景颜色。我使用以下问题的答案更改字体样式。
https://stackoverflow.com/a/9472000
现在我想改变颜色。这个怎么做?