问题标签 [dbgrid]

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 投票
5 回答
5124 浏览

performance - 是否有可以快速处理大型数据集的 DBGrid 组件?

大型数据集、数百万条记录需要特殊编程来保持 DBGrids 的速度。

我想知道是否有任何现成的 Delphi (DBGrids) 组件可以自动执行此操作?

编辑例如:某些数据库具有获取第一个 X 记录(例如 100 条记录)等功能。当我通过滚动到达底部时,我想自动获取下一个 100。相反,当我到达开头时,我想获取前 100 个。我知道我可以对此进行编程,但肯定可以将该功能传播到DBGrid 控制 DBGrid 进行缓冲的位置。它将节省相当多的编程时间 - 可以这么说,您只需设置“缓冲区大小”。

0 投票
3 回答
14706 浏览

delphi - Setting a DBGrid column format in Delphi

I am using a DBGrid component in Delphi. I wonder how I can set the format of a column. I have real values that I want to be displayed as currency in the grid.

Someone knows how?

0 投票
2 回答
11580 浏览

delphi - 在 Delphi 中滚动时查看 DBGrid 中的位置

我在表单上有一个 DBGrid。DBGrid 有很多列,因此会显示一个水平滚动条。我向右滚动 DBGrid 视图以查看更多列。如果我选择一行,DBGrid 视图会自动重置以查看第一列(就像我滚动回最左边的位置一样)。

有没有办法防止这种情况?

0 投票
7 回答
23858 浏览

delphi - 通过单击列的标题对 DBGrid 进行排序

好吧,这似乎有点棘手(如果不是不可能的话)。我正在尝试通过单击列的标题使我的 DBGrid 对其数据进行排序。

问题是我(可悲地)使用 Delphi 3,我没有使用 ADO DataSets 并且查询有很多行,因此我无法重新打开我的 TQuery 更改order by点击时的子句。

有人实施过这样的事情吗?

0 投票
9 回答
16122 浏览

delphi - 有没有好的免费/便宜的 Delphi 网格控件?

近十年前我放弃了 Delphi 的 DBGrid,因为它根本就不好。从那以后,我使用了 Virtual TreeView,它提供了很多价值,但也存在一些问题。就像当前的开发状态(例如无)和没有好的数据绑定版本一样。DevExpress 的 QuantumGrid 以丰富的功能集而闻名,但确实非常昂贵。我认为它庞大的功能集对于 95% 的数据绑定网格控件的一般用例来说可能是多余的。

有谁知道具有以下功能的数据绑定网格控件:

  1. 布尔字段的复选框。这有多明显?
  2. 更有效的与编辑打交道的方式,即无需点击三四次即可显示选择列表。
  3. 必须是数据绑定的。
  4. 外观现代。可能使用 XP 主题,但更可取的是可换肤。
  5. 灵活的所有者绘图。这是 Virtual Treeview 的一大特色——您可以从字面上替换单元格绘图的任何部分,而不会破坏其余部分。绘画是在一系列图层中完成的,您可以选择仅替换需要修改的图层。
  6. 可环绕的行,或者至少是弹出并显示已被截断以显示内容的工具提示。

我很少在网格控件中使用编辑,所以编辑功能不需要太棒了。

有什么好的建议吗?

0 投票
2 回答
6742 浏览

delphi - DBGrid 滚动页面而不是行

好吧,我对 DBGrid 垂直滚动有疑问。当我用鼠标滚轮或垂直滚动​​条垂直滚动它时,它会上下移动选定的行。我想让它滚动的不是选定的行,而是整个网格。就像它在 Microsoft Excel 中工作一样(只是为了让你知道我的意思)。有什么建议么?

0 投票
3 回答
1726 浏览

delphi - 如何摆脱DBGrid Delphi右侧的空白区域

虽然这个问题看起来很简单,但我找不到答案。

我有一个包含很多列的 DBGrid 组件,因此它们不适合页面并出现滚动条。我还有 column-autofix 机制,它使每一列的宽度与表中最长的元素相同。当我将 DBGrid 滚动到右端时,最后一列之后有一个空白区域。如何摆脱这个空间?

我看到的一个解决方案是拉伸最后一列以适应空白空间。但是我不知道如何找到这个空白空间的长度!DbGrid.Width 和 DbGrid.ClientWidth 只给出组件部分的长度,而不是表格的实际长度。有什么提示吗??

0 投票
3 回答
6969 浏览

delphi - 刷新 DBGrid 后选择行

好吧,我提出了某种 n00b 问题。我在这里浏览了网上和类似的问题,但没有找到任何针对这种简单(如我所想)问题的正确答案。

我有一个 DBGrid。我选择一行并对链接到该行的另一个数据进行一些操作。完成后,我的 DBGrid 被刷新并将选定的行重置为第一个。我想在刷新 DBGrid 数据之前选择相同的行。有什么建议么?

0 投票
4 回答
3653 浏览

delphi - 如何在Delphi中找到带有滚动条的网格组件的实际宽度

我有一个网格组件(DBGrid),上面有很多列。由于大量的列,创建了一个滚动条,因此网格的某些部分仍然隐藏。我需要找出 DBGrid 的实际宽度是多少,包括由于滚动条而未显示的部分。但是 Width 属性只给出了组件本身的宽度。有人有什么想法吗?

0 投票
4 回答
10961 浏览

delphi - 如何在 Delphi 的 DBGrid 中捕获滚动事件

我有一个 DBGrid,每次使用水平滚动条时都需要运行一些代码。我在 DBGrid 中找不到这样的事件。你能给点建议吗?