问题标签 [tstringgrid]

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 投票
4 回答
30319 浏览

delphi - 在 TStringGrid 上设置选定行的背景颜色

我有一个 TStringGrid,其中选定的行(最多 1 个,没有多选)应该总是有不同的背景颜色(u)r。

我将 DefaultDrawing 属性设置为 false,并为 OnDrawCell 事件提供了一个方法,如下所示 - 但它不起作用。我什至无法准确描述它是如何不起作用的。我想如果可以的话,我早就解决了这个问题。可以说,它不是所有具有相同背景颜色的完整行,而是混搭。多行具有“选定”颜色的一些单元格,并且并非选定行的所有单元格都具有选定的颜色。

请注意,我将单元格的行与 strnggrid 的行进行了比较;我无法检查选中的单元格状态,因为只选择了所选行的单元格。

0 投票
2 回答
3330 浏览

delphi - 在记录中使用来自 TStringGrid 的数据

我在 Pascal 中创建了一个记录类型 TTableData,用于存储来自 TStringGrid 的信息以供以后使用:

但是,每当我尝试通过遍历 TStringGrid 并从单元格中获取值来初始化这些对象时,这些值就会变为 ('','',0) (除了一些以某种方式结果正常的单元格)。

这是我从 TStringGrid 读取数据的过程:

我不太确定这里发生了什么。当我使用断点并缓慢遍历代码时,我可以看到数据最初被正确读取(通过将鼠标悬停在第二个 for 循环中的 tableData[i,j] 上以查看其当前值)但是当我尝试在循环本身中 ShowMessage(...) 值出现错误。

提前致谢,

0 投票
3 回答
13112 浏览

delphi - Delphi TStringGrid 多选,确定选中的行

无论如何要确定当前在 multi-select 中选择了哪些行TStringGrid,或者TCustomGrid就此而言。一个属性将是理想的。

我知道在事件中gdSelected设置了属性,DrawCell

我可以检查AStategdSelected并在某处的数组中跟踪它,但这似乎很笨拙。

0 投票
4 回答
5683 浏览

delphi - 在 Delphi TStringGrid 中检测单选与多选

这是我之前的问题Delphi TStringGrid 多选的后续行动 ,确定有关 Delphi 字符串网格的选定行。这是一个不同的问题。

我更仔细地查看了对象的 ONSelectCell 事件 TSelectCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; var CanSelect: Boolean);

我注意到 TStringGrid.Selection.Top,Bottom 属性不一定准确(在事件本身内)。基本上,如果有人从选择多行变为只选择一行,则 selection.* 属性不会更新,而如果选择多行,它们会更新。

无论是否选择了一行或多行,ARow 参数都会更新,但这仅在我可以确定仅选择了一行时才对我有所帮助。

例如,如果只选择了一行,则使用 Arow 参数,如果多于一行,则使用 Selection.* 属性来确定当前选择了哪些行。

必须有一个更简单的方法......

谢谢!

0 投票
2 回答
2054 浏览

delphi - Delphi,字符串网格不可选择,如何使其可选择行或列?

我在 Delphi 5 中有一个固定行和固定列的 StringGrid。但在运行模式下,我无法选择任何行或任何单元格。

允许我使字符串行或单元格可选的属性是如何以及是什么。

0 投票
6 回答
4609 浏览

delphi - 最有用的 Delphi TStringGrid (Grid) 替换建议

Delphi 的薄弱环节之一是网格(例如 TStringGrid),虽然它的基本工作很好,但当您需要打印它或自定义它的外观时,它变得更加困难。我已经使用它大约 15 年了,因此它非常嵌入我的应用程序中,随着时间的推移,我已经为 TGrid 到 RTF 转换(通过 MSWord 打印)提供了家庭推出的解决方案,并使用 TDrawGrid 进行了更多的定制。我的解决方案(仍然)必须在 Delphi 7 和 Delphi XE 中工作。碰巧的是,我的网格都不是数据库绑定的,它们都是在代码中填充单元格的。

现在我计划整理我的报告并“美化”我的表格,这意味着用更强大的实现替换网格。那里有很多负载,我有两个Developer Express Quantum GridTMS Grid Pack。尽管体验字体、颜色和打印​​的时间非常有限,但我希望能就我应该采用的许多网格/打印显示报告组合中的哪一种提出建议。我目前没有报告生成器,正在考虑使用 FastReports,但我愿意接受建议。

0 投票
1 回答
370 浏览

datagridview - Delphi Prism 的 TStringGrid 的替代方案

由于我开始在 Delphi Prism 下开发,我注意到它没有任何类似于您通常在 Delphi 7 及以下版本中看到的 TStringGrid 工具的网格工具。尽管 Delphi Prism 有一个 DataGridView,但它并不适合我的目的。事实上,每次我尝试设置它并让它按照我们希望它在我们的软件中运行的方式运行时,它根本不起作用。据我了解,DataGridView 确实需要一个数据库源来显示数据。

所以,我想知道 Delphi Prism 的 Delphi TStringGrid 是否有任何替代品。

0 投票
1 回答
2758 浏览

delphi - 字符串网格的代码问题(对齐中心)

Delphi:如何使 TStringGrid 中的单元格文本居中对齐?

当我使用顶部代码(OnDraw 部分)时,它不会删除第一个文本并将新文本写在旧文本上,一个 sel 会重复 .

0 投票
3 回答
52646 浏览

delphi - delphi:如何更改字符串网格中单元格的颜色

我想在 delphi 中更改字符串网格中单元格的背景颜色(不是字体)。

只有一个单元格,而不是一行或一列。

我可以吗?


RRUZ:您的程序是正确的并且有效,但在我的程序中不起作用。

我的程序:

x 是一个全局整数数组


当我使用带有以下代码的 Canvas.Brush.Color 时,Canvas.Brush.Color 不起作用。如果我在下面的代码中处于非活动状态,我可以更改单元格的颜色。但我两者都需要。

0 投票
1 回答
3410 浏览

delphi - Delphi:将文件加载到 TStringGrid

有一个程序可以创建一个日志文件。

这是它创建的日志文件的示例:

在此处输入图像描述

该程序将此日志文件加载到 TStringGrid 中。日志文件是制表符分隔的。一个单元格可以有一个空格“”。

如何使用 TStringGrid 或替代方法将此类日志文件加载到该程序中?

谢谢!