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

delphi - TStringGrid 上的水平滚动问题

我对 TStringGrid 类型的宽网格有疑问。如果用户向右滚动网格并选择行,则网格会自动向左滚动,因此可以看到第一列,但看不到用户感兴趣的列。如何防止这种滚动?

我使用 TurboDelphi (Delphi 2006)。

我的网格具有更改的标准选项:

  • goColSizing=真
  • goRowSelect=真
0 投票
2 回答
323 浏览

objective-c - 在Objective-C可可框架中是否有一个字符串网格,就像在Delphi中一样

Cocoa 框架中是否有一个 StringGrid,或者是否有人实现了一个类似于 Delphi 中的 StringGrid?

0 投票
2 回答
46337 浏览

delphi - TStringGrid - 有没有一种简单的方法来获取“当前/选定”行?

我可以走很长一段路,遍历每一行,得到一个TRectfrom CellRect(col, row),然后查询它的Statefor gdSelected...

但是是否有更快的方法来获取当前选定行的行号(如果有)?

0 投票
1 回答
2568 浏览

delphi - Delphi - 在 TStringGrid 使用新字符更新单元格之前发生 OnKeyPress

在 Delphi 中编码,将 OnKeyPress 事件处理程序附加到 TStringGrid:

OnKeyPress 事件在用户正在输入的网格单元实际使用已按下的键更新其值之前触发。这显然是一个问题,当我想知道此时该单元格的内容是什么时例如在用户修改它时。

如果您不考虑每个细节,“黑客”解决方案很简单:只需从单元格中获取值,并且由于 OnKeyPress 事件带有一个Key参数,将该值附加到末尾 - 现在您有了当前值细胞!

错误的。如果用户选择了单元格中的所有文本(即:“foo”)并且他们现在正在输入“b”,该怎么办。由于他们选择了文本,它将被删除并替换为字母“b”。但是,单元格的值在 OnKeyPress 中仍会显示为“foo”,而Key的值将是 'b',因此上述逻辑会导致应用程序得出该单元格现在包含“foob”的结论,我们知道这一点不是真的。

所以。 有谁知道如何解决这个问题?有没有办法让 OnKeyPress在网格内容更新做出反应,或者在处理程序开始时强制更新?我在这里拼命避免使用 OnKeyUp 事件,因此除此之外的任何建议将不胜感激。

0 投票
2 回答
3428 浏览

delphi - 具有编辑和范围选择的 TStringGrid?

问题:

任何人都可以在任何地方指向一篇关于如何在 TStringGrid 中提供编辑和范围选择的文章或代码示例吗?

是的,我知道有第三方网格可以做到这一点,但令人沮丧的是内置网格缺乏这种基本功能。

背景:

期望能够编辑网格中的单元格以及选择一系列单元格(例如用于复制操作)是很正常的。

交付时,TStringGrid 不这样做。这是非此即彼的。实际上,文档向我们介绍了网格选项:“选项中包含goeding,gorangeSelect没有效果”。

但是,看起来无论如何都可以在 TStringGrid 中进行编辑和范围选择!!!通过仔细使用 mousedown、mouseup、selectcell 和 exit 事件,您可以通过在正确的时间打开和关闭编辑元素来接近。但我仍然没有完美,而且只包括鼠标的使用,而不是键盘的变化。

0 投票
1 回答
8034 浏览

delphi - 如何动态滚动 TStringGrid?

我在 Borland C++Builder IDE 中工作,使用 VCL 控件。我试图让 TStringGrid 组件根据不同形式的用户输入向下滚动到一行并突出显示该行。我已经完成了突出显示部分,但我不知道如何将网格向下滚动到正确的行。这里有人知道吗?

0 投票
2 回答
2937 浏览

delphi - 如何格式化 StringGrid 单元格边框

我正在尝试根据单元格内容和位置格式化 Delphi TStringgrid。

虽然我可以根据单元格内容更改单元格颜色和形状,但单元格边框存在更多问题。

我希望能够在每n列的一侧或另一侧有一个较厚的单元格边框

任何指针?

干杯

0 投票
5 回答
9906 浏览

delphi - Delphi:StringGrid、位置和上下文菜单

我在使用 TStringGrid 和弹出菜单时遇到问题

我想知道从弹出菜单中选择一个项目时上次活动的单元格的行/列。但是,当我单击弹出菜单时,StringGrid.Row 将返回为 -1。

我尝试使用 MouseToCell 作为 OnClick 的一部分,但即使在设置 SG.Row 之后,它仍然在 PopUp 菜单例程中返回为 -1 ......我怀疑问题是 Grid 失去了焦点。

有没有不需要 OnClick 设置全局变量的解决方案?

我正在使用链接到弹出菜单上的项目的操作列表来确保工具栏和弹出菜单之间的操作是一致的

0 投票
1 回答
4181 浏览

delphi - 如何选择字符串网格的多个单个单元格?

我正在寻找一个字符串网格,它允许我在网格中的任意位置选择多个单元格,而不会使它们彼此相邻,例如按 CTRL 并单击网格上的各个单元格。或者,如果有人知道如何使用标准的 Delphi TStringGrid 做到这一点。

任何指针将不胜感激。

0 投票
4 回答
7099 浏览

delphi - Delphi TStringGrid 闪烁

我正在从 CSV 文件@运行时将多行添加到字符串网格,但是 StringGrid 在更新时似乎闪烁很多,我认为会有一个 beginupadate / Endupdate 命令来阻止它。但是我找不到它。当网格 ID 被更新时,是否有另一种方法可以停止闪烁。

科林