- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建自己的 DBGRid,除了选择列表之外,它工作正常。无论为网格设置什么按钮样式,它总是显示就地编辑器,既不显示选择列表,也不显示椭圆按钮!
我无法弄清楚我正在犯的错误:(。这是相关代码:
function TMyDBGrid.CreateEditor: TInplaceEdit;
begin
result:=TInplaceEdit.Create(self);
end;
function TMyDBGrid.GetEditStyle(ACol, ARow: integer): TEditStyle;
begin
case Columns[ACol].ButtonStyle of
cbsAuto : Result:=esPickList;
cbsNone : result:=esSimple;
cbsEllipsis : result:=esEllipsis;
end;
end;
构造函数和析构函数只需调用 inherited ,构造函数只需为网格设置一些颜色。
最佳答案
没有选择列表或按钮的原因是您使用 TInplaceEdit
作为单元格编辑器,它不支持您所需的功能。
TDBGrid
使用继承自 TInplaceEditList
的 TDBGridInplaceEdit
作为其就地编辑器,该编辑器集成了 TCustomListbox
它的下拉列表、绘制和管理编辑按钮。
关于delphi - 自定义 dbgrid 和 Picklist 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40272864/
如何使所有网格在我的表单上看起来都相同?我想实现必须应用于项目的所有网格的备用行颜色。是否可以不为每个网格添加相同的 DrawColumnCell 事件代码?我想避免为每个网格添加相同的代码。我的项目
好的,我正在使用 DBGrid 来显示数据库中的数据。 数据库包含一个包含 11 列的表。第 4 列称为客户名称,包含客户的姓名。 我想要一个搜索框(类似于谷歌搜索栏),我可以在其中写下我想要的客户名
我从 TDBGrid 继承了一个类,我希望它能够记住特定用户对列顺序和列宽所做的任何修改。而且,我希望能够完全在网格本身内做到这一点。我不想将代码附加到 TDataSet,因为这个网格在我的应用程序中
好吧,我对 DBGrid 垂直滚动有疑问。当我用鼠标滚轮或垂直滚动条垂直滚动它时,它会上下移动选定的行。我想让它滚动的不是选定的行,而是整个网格。就像它在 Microsoft Excel 中工作一
我遇到了 Delphi 的 DBGrid 最奇怪的问题。 我注意到 有时 ,我的意思是,当我将行加载到 delphi DBGrid 中时(它是完全随机的),网格不显示数据。 相反,它显示了几个压缩行,
我有一个带有查询、数据集、可编辑 dbgrid 和 updatesql 组件的表单。当我需要保存在 dbgrid 中所做的更改时,我调用此过程: procedure TEditCardDetailFo
我在 BDS 2006 中使用了 DBGrid。它有 6 列,在运行时填充。在mysql数据库中,一列的数据类型是char(150)。因为从数据库检索到 dbgrid 时,它会占用长度,并且列会随着滚
我有一个条目网格,用户可以单击以对流程进行多项选择。根据第一个选定行的值,某些条目将无效。 我知道DBGrid.SelectedRows.CurrentRowSelected,但我找不到合适的地方来检
我得到了: ADOTable1(代码人为整数,姓名人为字符串) DataSource1(日期集是ADOTable1) DBGrid1(连接到DataSource1,Options-dgRowSelec
我想扩展 DbGrid 功能以在奇数行和偶数行上添加颜色。所以我写了这个 procedure TGridx.DrawCell(ACol, ARow: Longint; ARect: TRect; AS
我正在使用 Delphi 10.2.3 并且想要更改 DBgrid 的背景颜色。例如,我有一个文本列和一个整数列。根据文本,如果值非零,我想更改整数单元格(同一行中)的颜色。 我得到了一些想法 how
我需要获取 Delphi 中 DBGrid 的选定单元格的值。 我不知道该怎么做。我尝试了 dbGrid 的 OnMouseMove pt : TGridCoord; ... pt:=dbGrid.M
{*----------------------------------------------------------------------------- Unit Name: TopFormU
我的问题是如何在 Delphi 7 中的 dbgrid 中设置一个带有复选框项目的列。 提前致谢。 最佳答案 经我测试,最简单、最完整的方法如下: 在单元的私有(private)部分中,声明一个用于保
我正在制作一个保存订单和打印发票的应用程序。我的表单上有一些标签、编辑、tmemos、按钮、数据源、adotable、弹出菜单和 dbgrid。 当我构建程序并向下滚动 dbgrid 滚动条时,它会在
我有一个 TDBGrid。它有效,但显示的列非常大。 如何设置“自动修复列宽”? 最佳答案 所需的列宽取决于网格 Canvas 的设置和每个字段的显示文本的最大长度。 procedure FitGri
我需要格式化 DBGrid 中的值,以某种格式显示,例如 '#,##0.00'。知道如何做到这一点吗? 问候,彼得 最佳答案 您可以使用DisplayFormat要格式化的字段的属性。 检查此示例 T
是否可以在 Delphi (xe) 中自动换行 DBgrid 单元格(高度)?我有一个 dbgrid,其中包含具有固定列宽的多列,并且某些列最多有 100 个字符,我需要它们在不更改列宽的情况下适合适
有没有办法隐藏 DBGrid 上的标题行和指示器列?我找不到任何此类属性(property)。我可以通过编程来完成吗? 最佳答案 关闭(设置为 False)对象检查器中的 Options.dgTitl
使用 TImage 列表中的图像在 DBGrid 中的数据单元格上绘制字形时出现问题: 我将“复选标记”的 bmp 图像代替特定数据单元格中的文本“完成”。它有效,但细胞中未被图像覆盖的部分始终存在黑
我是一名优秀的程序员,十分优秀!