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

delphi - DBGrid 获取选定的单元格

我需要在 Delphi 中获取 DBGrid 的选定单元格的值。

我不知道该怎么做。我试过 dbGrid 的 OnMouseMove

[已编辑] 我可以使用 OnCellClick 来获取具有“Column.Field.AsString”的单元格的值,但是当我单击该行的任何列时,我想从第一列获取值。

0 投票
3 回答
6724 浏览

database - 在 Delphi 中重新定位 DBGrid 中的列

我需要动态更改 DBGRid 中某些列的位置。假设我需要将第 21 列放在第 10 位。我使用:

但是,这也改变了数组本身,也就是说,下次我想访问这个列时,我需要编写 DBGrid.Columns[10],这使它有点不干净,我需要记住所有列的位置等. 有没有更简单的方法来重新定位列?如果在此位置更改期间数组索引不更改,那也很好。

0 投票
2 回答
1446 浏览

delphi - 寻找一个免费的、可定制的数据库网格

我正在努力将“开源”项目的代码库转换为可以实际工作的东西。我把这个词放在引号里是因为原作者所做的就是拿一个商业产品说“好的,我们现在已经从中赚到了足够的钱。这是源代码。做任何你想做的事。” 不幸的是,代码库原样需要超过 1000 美元的专有组件库来编译。

除了一个主要的例外,我已经仔细研究了大部分专有的东西。它使用了相当多的 InfoPower TwwDBGrid。在一个重要的地方,它有一个显示名称列和几个复选框的网格,并且可以为每个单独的记录自定义名称列的背景颜色和文本颜色。

我在 Infopower 网格中有执行此操作的代码,重新实现 DevEx 网格将是微不足道的,但我似乎无法找到可以处理它的开源网格。我不需要 InfoPower 网格的全部功能,但我确实需要一个 DB 网格,它可以让您指定列类型,例如复选框列,并且它具有用于在绘制时为单元格着色的事件处理程序。

有谁知道满足这些要求的网格?如果我能避免的话,我真的不想做一些丑陋的事情,比如用 TdbCtrlGrid 破解它......

0 投票
4 回答
7274 浏览

database - ClientDataSet [Delphi] 中的“密钥冲突”自动增量字段

这是我的第三个问题,到目前为止回答很好^^

我在浏览、编辑数据时没有问题,但是插入...

这是我的疑问:在财务/股票软件中,我有一个创建新订单的表单,
自然我需要在 t_orders 表中插入一个新行,并在t_orderitems表中
插入项目,其中orderId字段链接到t_orders中的一行

如何将 itemorders 添加到网格中,最后在“FinalizeOrder”按钮中单击

  • 在t_orders中创建订单
  • 在链接到该订单的t_orderitems中插入项目

使用 ADO 进行连接。

我不确定是否可以这样做,在这种情况下,我应该怎么做?

编辑:我尝试使用嵌套的 ClientDataSets 并且它可以部分工作,但我仍然不知道如何获取插入的订单 ID

edit2:
现在我有另一个问题,我不能在 ClientDataSet 中添加多个项目。
因为 OrderItemId 对于所有项目都是空的(我只能在数据库插入时获取该值),所以当我尝试添加第二个项目时,它给了我密钥违规,有什么想法吗?

如果我将 Updatemode 设置为不同于 upWhereKeyOnly 并将 pfInKey 设置为 False 它可以工作,但我认为这不是一个选项

有任何想法吗?

提前致谢!
亚瑟。

0 投票
3 回答
12301 浏览

ajax - 如何在不关闭和打开delphi数据集的情况下刷新dbgrid?

我需要不断地实时刷新 dbgrid。关闭和打开数据集工作正常,但闪烁 dbgrid。我能做些什么来避免这种情况?

我想要一个像 Ajax 这样的解决方案,只更新必要的。

谢谢

0 投票
5 回答
3173 浏览

delphi - 有没有办法只更新/刷新delphi dbgrid中的一条记录?

可能吗?如何?

0 投票
1 回答
1795 浏览

delphi - 如何在 Delphi 7 的 DBGrid 中显示和编辑超链接?

我使用 DBGrid 显示 Microsoft Access 数据库 (MDB) 中的超链接类型字段。通常 dbgrid 会显示超链接值,例如“(MEMO)”,而无需编辑功能。有没有办法解决这个问题?

0 投票
3 回答
4060 浏览

delphi - 如何使用复合列创建 dbgrid?

如何使用复合列创建 dbgrid,

示例:dbgrid 标头 | 姓名 | | 第一 | 最后 |

0 投票
1 回答
1176 浏览

delphi - DBGrid 中的 Delphi 2010 计算列

我有一个带有 DBGrid 的 Delphi 2010 ADO 程序。其数据集从 Access 查询中选择。该查询有一个定义为 CStr(Amount*UnitCount)+" "+Unit 的列。查询在 Access 中运行良好。但 DBgrid 拒绝显示该列的值

0 投票
2 回答
3135 浏览

delphi - 如何在 Delphi 6 中获取数据集以将数据填充到 dbgrid 中?

我在 Delphi 6 中创建了一个 DBGrid,并将其绑定到包含在 DataModule 中的 DataSource。该源的数据集也位于同一模块中。在表单的 OnShow 事件中,我激活了数据集并设置了一个等于数据集行数的标签。这显示了数百行,但 dbgrid 中没有显示任何内容。如果我在 IDE 中激活数据集,网格将填充预期的数据。有谁知道为什么这种行为会在 IDE 和正常运行时之间发生变化?我们也在使用 SDAC 连接组件。

所有第 3 方组件的选择都不是我可以更改的。

我可以根据需要进行详细说明以进行澄清,但我主要需要故障排除的想法开始。