问题标签 [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 投票
2 回答
2077 浏览

delphi - 在 Delphi 控件中编辑数据并更新其基础数据集

在 embarcadero docwiki 中,它说:

在除 TDBGrid 之外的所有数据控件中,当您修改字段时,当您从控件中 Tab 时,修改将复制到基础数据集。如果在从字段中按 Tab 之前按 Esc,则数据控件会放弃修改,并且字段的值将恢复为在进行任何修改之前保持的值。在 Vcl.DBGrids.TDBGrid 中,当您移动到不同的记录时会发布修改

我正在使用 TDBGrid(以及其他数据控件),我发现他的更新行为非常不自然。我希望当用户点击“ENTER”时进行更新,而不仅仅是当用户“移动到不同的记录”或“来自控件的选项卡”时。

我的问题是我怎么能改变这个?有任何想法吗?

先感谢您。

0 投票
1 回答
1588 浏览

delphi - 在 Delphi 中使用 TDBGrid 设置 SQL 数据库表(单向错误)

如何将数据库的整个表设置为以我的 delphi 形式显示?我假设使用 TDBGrid;但是当我配置数据源(连接到查询)时,我收到一条关于它是单向的错误消息。我听说过一个Clientdataset,但这似乎不起作用。请问我可以有一些关于如何做到这一点的明确说明吗?提前谢谢你,托比。

0 投票
2 回答
5974 浏览

sql - Delphi ClientDataSet 通过更改 IndexName 进行排序

我一直在学习 delphi 中的 ClientDataSet 以及它如何帮助对我的 SQL 数据库进行排序。数据在我的 TDBGrid 中显示良好,我通过更改 ClientDataset 的 IndexField 来单击标题启用排序。我有时想让它按排序下降,所以一直在尝试使用此处概述的 2 个索引名称https://stackoverflow.com/a/13130816/4075632

但是,当我将 IndexName 从 DEFAULT_ORDER 交换为 CHANGEINDEX 时,我的 DBGrid 中的所有数据都消失了。我对这一切都很陌生,我知道这将取决于我的情况,但是发生这种情况的一些方式是什么,我将尝试解决它们。

我有 1 个 TSQLConnection 连接到 TSQLQuery,连接到 TDataSetProvider,连接到我的 ClientDataSet,它通向 TDBGrid 的 TDataSource。为什么当我更改其名称时,通常很好的 ClientDataSet 可能会导致问题?请记住,大多数设置都是默认设置,因为我不太确定这些组件。谢谢,希望您能提供一些有用的帮助,很抱歉可能很难了解我的情况。

托比

0 投票
1 回答
2889 浏览

mysql - Delphi双击DBGrid查找行的字段内容

我想知道如何在我的 DBGrid 中为双击的记录选择特定的 WebID 值?例如,如果他们单击 WebID 2 行中的任意位置,我就有一个变量来存储数字 2。我有一个 SQLQuery,然后是一个 DataSetProvider,然后是一个 ClientDataSet,它通过一个 DataSource 提供我的 DBGrid。如果您需要更多信息,请告诉我。谢谢!

0 投票
0 回答
687 浏览

vb.net - 控件 DBGrid1 的类 TrueOleDBGrid80.TDBGrid 不是已加载的控件类

我有一个使用 True DBGrid 的现有 vb 项目。我在 Win7 PC 中打开源文件,并安装了 True dbGrid 8.0 Pro。现在,错误出现了:控件 DBGrid1 的类 TrueOleDBGrid80.TDBGrid 不是已加载的控件类。

有什么设置可以解决这个问题吗?

谢谢

0 投票
3 回答
13820 浏览

delphi - How do I refresh a TDBGrid?

I have a TDBGrid called myDbGrid that I want to update after a change to the database (insert/update/delete). How can I do this without reloading my form completely?

myDbGrid uses myDataSource and it uses myQry as its data set.

I've tried the following with no success:

and

What have I missed?

(I'll note that the database change is not happening in the tDBGrid - it's there for display only)

0 投票
1 回答
2230 浏览

delphi - 如何在 DBGrid 上绘制垂直居中的内容

已编辑: 我想在 TJvDBGrid(项目的绝地 TDBGrid 后裔)上绘制垂直居中的 TIcon 图形和文本。我试图禁用 JvDBGrid 的 DefaultDrawing 方法并覆盖它,但我只能用黑色填充单元格(我认为我的代码不完整,无法进行覆盖)。

现在我成功地在单元格上绘制了图标,并且文本与默认绘图保持不变。我怎样才能使图标(垂直和水平)和文本(只是垂直)居中,像这样

这是我的代码:

0 投票
1 回答
781 浏览

delphi - Delphi Style 问题 TDBGrid Vertical Scroll 滚动时断断续续

我正在使用应用了样式的 Delphi XE5。

当使用具有足够记录来显示垂直滚动条的 DBGrid 时,单击并拖动滚动条会导致动画不连贯。网格不断重新绘制/更新。

如果我将 DBGRID.StyleElement.seBorder 设置为 False,它会正常运行,例如,您可以将滚动条拖到顶部或底部,而无需更改/重新绘制网格,直到您松开鼠标按钮。

当样式打开时,有什么方法可以使垂直滚动条起作用?

0 投票
1 回答
2367 浏览

image - 如何在delphi中将具有透明度的图像添加到TDbgrid列?

我正在尝试将图像添加到考虑透明度的 TDbgrid 列中。在 DBGridDrawColumnCell 过程中从画布上的 TImageList 绘制图像时,我需要图像的背景(与左下角的像素颜色相同)具有透明度。我希望这个透明区域显示高亮颜色或非高亮颜色,尤其是在使用主题时,例如 Aero。我已经能够在旧版本的 Windows 中使用 clHighlight 或 clWindow 作为背景颜色的颜色值来完成此操作。但是对于 Aero 主题,它总是在图像的不透明部分后面绘制一个框,而不是 Aero 使用的渐变蓝色突出显示颜色。我怎样才能做到这一点?

我相信我应该使用 alpha 通道,但我不确定如何从 TImageList 到画布执行此操作。我相信在我开始在单元格的画布上绘制之前,单元格已完全用实际的突出显示颜色绘制。我只想绘制图像的非透明部分并留下背景。

0 投票
1 回答
6438 浏览

delphi - 更改 DBGrid 行的颜色

如何更改最新的记录颜色 dbgrid?