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

delphi - 如何在 Firemonkey Delphi XE5 中更改 TStringGrid 的文本颜色

我希望能够更改某些行的文本颜色。例如,如果单元格值低于 0,我想要红色,而不是绿色。

0 投票
3 回答
2450 浏览

delphi - 带有 SpeedButtons 的 TStringGrid

我想在每行的末尾有一个带有图标的按钮。

像这儿:

在此处输入图像描述

我试过这个

但是尽管单击事件有效,但该按钮看起来并不像“活着”。没有点击、悬停动画、焦点等。

0 投票
1 回答
153 浏览

function - 如何调用具有多个参数的过程?

我有这个代码:

我必须重写这段代码,因为我将它用于许多事件(事件button1click,,,button2click每次我验证)所以我的意思是把 then 变成过程,所以我可以在很多事件中调用它到目前为止我制作的这段代码:

但我不能称之为:

如何解决?我必须拆分它吗?

0 投票
1 回答
2653 浏览

php - 语法错误,意外的 T_STRING(在 php 中尝试 HTML)

所以我有一个 php 代码来跟踪我的游戏服务器是在线还是离线。但是我尝试在 echo 中使用 html,但它输出了著名的 T_String 错误。

我的代码:

它在第 26 行说 echo "<h1><td style="background-color:red">Offline</td></h1>";

0 投票
2 回答
16230 浏览

delphi - 通过单击该行中的任何单元格来选择 TStringGrid 中的一行。

我在具有 1 个 FixedCol 和 1 个 FixedRow 的表单上有一个 TStringGrid 对象。当用户单击该行中的任何单元格时,我希望能够选择对象上的整行。此选择还必须对用户可见(我希望该行更改颜色)。

编辑:已将 goRowSelect 放入对象的选项中。现在有没有办法通过单击固定列中的一个单元格来选择行?

0 投票
2 回答
3302 浏览

android - Delphi XE5 Firemonkey TStringGrid OnClick 事件

我对 Android 上的 Delphi Firemonkey TStringGrid 有一个非常奇怪的问题。看起来 TStringGrid 上的事件在 Windows 和 android 平台上的触发方式不同。例如:在 windows firemonkey 应用程序中,我有一个带有几列的字符串网格。TStringGrid 设置为只读。OnClick 事件我有以下代码:

Android 应用程序具有完全相同的代码 OnClick 事件

当我运行 Windows 应用程序并单击字符串网格单元格时,它会被选中,然后在单元格中写入“结果”。

点击前的窗口

在此处输入图像描述

点击后的窗口

在此处输入图像描述

当我运行android应用程序并单击(点击)时,会发生“结果”写入先前选择的单元格,然后在我单击的那个单元格中被选中。

点击前的安卓

在此处输入图像描述

点击后的安卓

在此处输入图像描述

我不确定这是 Firemonkey 中的错误还是预期的行为。有没有办法克服这个问题?

0 投票
0 回答
180 浏览

delphi - 防止 TStringgrid 中 TInplaceEditer 的全选行为

在 TStringGrid 中选择一个单元格时,将选择整个单元格内容,光标位于选择的末尾。这是个问题。

我的网格是通过实时绑定到 FoxPro 数据库的 TADOConnnection 填充的,我有一个带有 FieldDefs 的 TADODataSet,其中包括字段的大小和数据类型,例如:

我无法更改底层数据库架构。在大多数情况下,这些字段对于存储的信息来说是超大的,存储在jobc中的最大长度值是 8 个字符长,并且可能永远不会超过 10 个。

对于 UI,我没有理由将包含 jobc 的列调整为显示 200 个字符,我只需要它足够大以显示 10 个字符。但是,TStringGrid 单元格填充了该字段的内容以及足够的空格字符来填充它到200。(为什么?我不知道。)选择时,整个内容都被选中,光标放在选择的末尾,最终结果是看起来内容消失了。

我似乎无法使用任何 TSTringGrid 事件来覆盖此行为。

我尝试快速而肮脏地修复添加(已弃用):

到 OnGetEditMask 事件,但在开始编辑和完成编辑时,此事件似乎被多次调用。谢天谢地,这不起作用,因为我很想把它留在......

我试图追溯父类以确定调用全选的确切位置,但通过系统单元中的 asm 代码跟踪丢失了。我读到你可以在一个单元中添加一个 D 编译器指令,让调试器跳过这些单元,但出于明显的原因,我真的很犹豫是否要修改任何 VCL 单元。

此时正在寻找任何解决方案(修改 sql 查询?实时绑定属性?字段属性?),但理想情况下想知道这发生在哪里,以便我可以同时存储单元格的初始值。(我想在编辑恢复初始值时添加正常的电子表格类型的转义行为)。

看起来我需要遵循的类链是TInplaceEdit-> TCustomMaskEdit-> TCustomEdit->TWinControl 我假设它在某个地方。

0 投票
0 回答
51 浏览

delphi - Delphi TStringGrid 左侧缺少背景颜色

我使用以下自定义 OnDraw 根据列号为单元格的背景着色:

但结果我总是在左侧有一个没有颜色的“栏”:

单元格的左侧部分未着色

我正在使用德尔福 XE6。

0 投票
1 回答
1045 浏览

delphi - TStringGrid 中的奇怪绘图问题(黑色单元格)

我在 TStringGrid (Delphi XE) 中遇到了一些非常非常奇怪的事情。我已经看到,有时当我单击网格中的第一行时,它会变成黑色(或显示从表单上的其他控件“窃取”的乱码画布)。它仅在某些配置中发生,当网格获得焦点时。单击网格中的另一个区域后,一切看起来都很好,直到焦点移动到另一个 TStringGrid。

如何重现:

  • 将两个字符串网格放在一个表格上
  • 如下所示设置它们(更新:我意识到 goRowSelect 和 goEditing 必须是'true')
  • 单击一个网格中的第一个单元格-> 没有任何反应
  • 单击第二个网格中的第一个单元格->第一个单元格变黑(见截图)

该问题也出现在其他情况下(不必在表单上有 2 个网格),但我只有在有 2 个网格时才设法重现它。

关于如何解决这个问题的任何想法?

在此处输入图像描述

0 投票
1 回答
1333 浏览

delphi - Easy Delphi XE6 FireMonkey 控制 TListBox 和 TStringGrid

如何将列放入 FireMonkey TListBox,然后从 TListBox 的行的列中获取值。我正在使用这种方法:

vListRow := 'Col1Stuff' + '^I' + 'Col2Stuff';

这不是给我第一列中的 Col1Stuff 和第二列中的 Col2Stuff。

我尝试使用 TStringGrid Firemonkey 控件作为替代方法,但以下方法也不起作用:

vStringGrid.Cells[0,1] := '嗨'; vStringGrid.Cells[0,2] := '那里';

这在 TStringGrid 中没有任何内容。

有小费吗?