问题标签 [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.
database - ADOQuery 和 DBNavigator
好的。我有简单的数据库、DBGrid 和 DBNavigator。我将此代码用于我的 adoquery 并在我的 DBGrid 中查看
select Count(*)As 1 , 2 3 from Table1 Group by 1, 2
问题是,如果我有两个或更多来自 1 的相同文章,并且我尝试从 DBnavigator 中删除它,它会发送给我
键列信息不足或不正确。更新影响的行数过多。我想删除两行或更多行。不仅仅是一个。如何解决?
delphi - 在显示之前修改 DBGrid 单元格内容
我想在加载数据库时修改 dbgrid 控件中特定单元格的内容。例如,假设我不希望任何数据库字段在 dbgrid 中显示,如果它等于"forbidden"。有什么办法可以做到吗?
delphi - 使用 Delphi OnDrawColumnCell 如何在应用条件格式之前确保记录值存在
我正在使用带有通过 ADO 绑定到 Access mdb 数据库中的表的 dbgrid 的 Delphi 2010。
此表是根据单选框中的点击进行过滤的。
以下代码根据表中的数据对行进行颜色编码,但失败并显示错误对话框
如果过滤器返回一个空数据集。我以为如果没有返回记录但它似乎不起作用,我已经允许不调用颜色设置;见下面的代码
任何和所有的帮助都非常感激。注意我也尝试过条件,例如
但这似乎也不起作用。
delphi - 选择 dbgrid 中的一行时如何填充组合框?
在 Delphi 2007 中,我有一个 DBGrid。I need to fill a ComboBox when a row in the DBGrid is selected. ComboBox 中的数据取决于所选行,并且对于每个所选行可能不同。
DBGrid 包含产品订单。选择订单后,我需要一个 ComboBox 来填写订单中产品的批号。此批号在订单执行时保存在订单记录中。
我找不到可以用来执行此操作的 onSelect 或 onChange 事件。
那么我该怎么做呢?
delphi - 如何禁用 DBGrid 中的 CheckBox 列
如何禁用或只读 DBGrid 中的复选框列。我正在使用 wwDbGrid 和 EditControl 选项。
delphi - Delphi DBGrid 中可编辑的详细记录
我有一个数据库(保存在 Access .MDB 文件中),记录员工以及他们缺勤的情况,例如假期、疾病、培训课程、开始和结束日期以及失去的生产时间。
然后,我将一个 dbgrid 绑定到一个“主”ADO 查询,该查询查找所有满足日期范围、部门、名称搜索字符串的选定标准的所有员工,总结了生产时间损失的小时数。
我有另一个 dbgrid 绑定到包含缺勤记录的“详细”ADO 表。
所需的效果是详细 dbgrid 应该只包含缺勤表中与主记录中选择的行匹配的那些记录(“主”员工和“详细”缺勤表都包含一个公共 EmployeeID 字段)。
虽然我可以使用动态创建的 ADO 查询来实现这一点,每次用户移动到不同的主员工记录时都会更改查询,但我希望使用详细 DBGrid 作为删除、更新和添加其他缺勤记录的主要方法,完成网格内查找;因此用户可以选择记录类型,而无需记住该类型的代码。
我还希望此详细网格中的更改能够反映在主 dbgrid 的摘要中。
我已经使用作为 MasterDetail 链接到 Staff Query 的详细信息 ADOTable 实现了这一点,但需要将过滤设置为 True,并在代码中控制 onfilterevent;但是随着数据库大小的增加,这变得越来越慢。
我可以做些什么来提高这种性能,还是我会被迫将详细 dbgrid 设置为纯只读的,并且所有缺席记录都通过另一个表单或面板输入?
delphi - 以另一种形式在主窗体中使用有关 DBGrid 的命令
我正在制作一个用于汽车零件店的简单程序。这是它的外观:链接
问题是左边的小窗口。在主窗口中双击 DBGrid 中的任何行时,应将其打开,并且应在 DBEdit 字段中显示所有选定项目的特征。如果单击“保存”按钮,则应将 DBEdit 字段中的更改保存到数据库中,否则应忽略更改。
通过使用以下代码双击 DBGrid 中的字段,我成功打开了另一个表单:
现在唯一的问题是如何让程序检测 DBGrid 中的哪一行被选中,然后在较小窗口的 DBEdit 字段中显示其内容。
谁能告诉我如何做到这一点,好吗?
谢谢!
delphi - 如何使用 TDBGrid 中的复选框来选择多条记录?
如何在标准 TDBGrid 中使用复选框来选择多条记录?或者,您对 DBGrid 的免费/开源姐妹有什么建议吗?它允许任何人轻松做到这一点?
谢谢你。
delphi - Delphi 2007 无法使用源代码修改 beforescroll 事件中的数据,错误:数据集未处于编辑或插入模式
一点历史:我有一个包含文本描述的 DBlistbox,我只将它的代码存储在一个 mysql 表中,该表显示在一个 dbgrid 中。用户可以选择多个选项,我喜欢处理这些选项并将其作为逗号分隔值存储在其中一列中(该列在 dbgrid 中不可见)。
现在,当用户使用事件 Afterscroll 和 Formcreate 在 dbgrid 中滚动时,我可以填充列表框。但是,当我尝试处理列表并更新 dbrgid 后面的 myquery 时,我收到一条错误消息“数据集不在编辑或插入模式下” - 我在 beforescroll 中执行此操作
请帮忙!!我试图在更改之前将数据集设置为编辑模式,然后一旦发布数据,dbgrid 似乎有有趣的字符
delphi - 如何从 Delphi DBGrid OnTitleClick 事件中删除黑线?
我有一个 Delphi DBGrid,它在第一次加载时看起来很正常。我设置了一个OnTitleClick事件,该事件在单击标题时按列对 DBGrid 进行排序。一旦单击标题,列标题就像一个按钮被按下并出现一条难看的黑线。(见下图2)
一旦单击事件完成,网格又看起来正常了。
单击列标题时如何防止出现这条黑线?
编辑:QC提交给Embarcadero
虽然关闭调整列大小的功能确实会使黑线行为消失,但它确实带走了一个非常好的功能。我认为这种行为需要修复。我已向 Embarcadero 提交了以下QC 98255。请为这个条目投票。
更新:2017-07-30
我找到了绘制这条水平黑线的位置。
Vcl.Grids >过程TCustomGrid.DrawMove;
Canvas.Pen.Width 设置为 5。我将其更改为 Canvas.Pen.Width := 1;
它看起来好多了。现在,当我单击“Contact_Last”标题单元格时,黑色指示线只有一个像素宽,而且干扰性要小得多。