问题标签 [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.
delphi - 带按钮的字符串网格
第一个问题:
如何调用 stringgrid 中不可见的部分?您需要滚动才能看到它。
例如:
一个字符串网格中有 20 行,但一次只能看到 10 行。您需要滚动才能看到其他 10 个。“隐藏”的如何称呼?
第二个问题:
我知道这可能不是正确的方法,所以一些指针将不胜感激。
我有一个带有 1 个固定行的字符串网格。我在运行时添加 ColorButtons。所以我用按钮填充 1 列。我使用这个按钮来“插入/删除”行。只要所有网格都在“可见”部分中,它就可以很好地工作。当我“插入”新行并将按钮移动到“隐藏”部分时会出现问题。然后将最后一个按钮绘制到 Cell[0,0]。“隐藏”部分的其他按钮绘制正确。知道为什么会这样吗?我应该在 OnDraw 方法中找到一种方法来管理这个问题,还是有更好(正确)的方法来做到这一点?
代码:
delphi - ListView 和着色单元格
我有 ListView (vsReport) 和 StringGrid,我想要的是如果我单击 ListView 中的某个元素,StringGrid 中的特定单元格必须更改颜色。我该怎么做?
路径填充有 1(上移)和 0(右移),它从左下角开始,到右上角结束,我必须为这些单元格着色。
感谢您的回答,我解决了我的问题,但还有另一个小问题,我怎样才能让单元格中的文本可见?FillRect 填充整个单元格。
lazarus - 如何在 Delphi TStringGrid 的固定行中更改单元格中的文本方向
我在表单上有一个标准的 TStringGrid。我在网格中有一个固定行,其中包含许多列,这些列都是 TGridColumns 对象。我已经使用对象检查器设置了列标题,默认方向是水平的。有什么方法可以使方向垂直(就像在 Excel 中的单元格中一样)?
delphi - 从文本文件加载 StringGrid
如何将整数与空格分隔的文本文件加载到StringGrid?每个单元格的每个数字。网格必须是一个矩形,所以如果缺少某个数字,它应该用 0 填充。
这是我到目前为止所做的,但它需要已经设置了行数和列数。
lazarus - 您如何在 TStringGrid 列标题(固定)上设置单击事件,以便在视觉上看起来像您正在按下按钮
我正在使用 Lazarus v0.9.30。我有一个带有 TStringGrid 的 TForm。我在网格中有一个固定的行,这是我所有列标题的位置。每列是一个 TGridColumn 对象,每列标题是一个 TGridColumnTitleObject。在对象检查器中查看时,没有可用于 TGridColumnTitle 的事件。我想要做的是能够单击列标题,并且在视觉上我希望它看起来像你正在按下一个按钮。我想拦截单击事件,然后对其执行操作(例如,按列文本排序,或者可能显示帮助屏幕)。有没有办法做到这一点?
delphi - 在 Delphi XE2 中使用样式的字符串网格 - 滚动条不更新
我正在 Delphi XE2 中制作一个简单的应用程序,它专门使用“Carbon”样式。有一个包含数千行的大型字符串网格。我有一个循环遍历这个网格的记录的过程,做一些工作,并在网格中进行一些更改。随着流程循环,当前正在处理的行被突出显示(通过设置TStringGrid.Row
)。
问题是当我将样式应用于此网格时,滚动条不会随着行的更改而改变位置。循环确实在处理每一行时正确突出显示它,但是当它接近列表末尾时,右侧的滚动条仍然一直位于顶部。
如何使网格的滚动条随之移动?
这是我如何循环的示例:
当我不使用任何样式时,一切正常。
delphi - 如何获得 TStringGrid 中的单元格的提示,使其更流畅地出现?
我正在运行 Lazarus 0.9.30。
我TStringGrid
在表单上有一个标准,并希望在将鼠标指针移到列标题上时显示不同的提示。我正在使用此代码来执行此操作,并且它有点工作,但是当我实际上希望它随着鼠标指针移过它而更改时,您通常必须单击单元格以获取更改的提示。我将所有提示存储在一个集合中,我使用列索引作为键进行搜索。有没有办法更流畅地显示提示?
lazarus - 如何将对象关联到 TGridColumns 对象
我正在运行 Lazarus 0.9.30。
我在表单上有一个标准的 TStringGrid,并且有一个在运行时动态添加 TGridColumns 对象的函数。我有一个对象集合,其中包含每列的所有属性(我在运行时从文件中读出),并且我想将每个对象与其对应的列标题相关联。
我已经尝试了下面的代码,但是在运行时,当我尝试访问列标题对象后面的对象时,我得到了一个返回的 'nil 对象。我怀疑发生这种情况的原因是网格单元(包含列标题)是空白的,并且您无法将对象与空的网格单元相关联。
fixed - 在运行时将列动态添加到 TStringGrid 时如何避免固定列?
我正在使用 Lazarus 0.9.30.2。我有一个标准的 TForm,上面有一个标准的 TStringGrid。字符串网格在设计时没有列或行。在 Object Inspector 中设置了以下值。
我想在运行时添加一些 TGridColumns,并且能够这样做,但总是得到一个固定的列,这是我不想要的。为此,我编写了与下面的示例非常相似的代码。当我编译并运行它时,我得到以下信息。
如何在运行时去除固定列并留下剩余的列?
background-color - 如何为 TStringGrid 的所有列标题单元格绘制不同颜色?
我正在运行 Lazarus 0.9.30.2。
我有一个 TForm,上面有一个 TStringGrid。每个列标题都是我在运行时动态添加到网格的 TGridColumns 对象。每个列标题都有一个与之关联的对象(我创建并存储在 TList 中)。我想绘制字符串网格的列标题单元格的背景,但我不希望所有单元格都是相同的颜色。根据与列标题关联的对象中属性之一的值,颜色会有所不同。
我知道有关于如何在 Stackoverflow 中绘制 TStringGrid 单元格的答案(示例),其中谈到了使用字符串网格 DrawCell 事件来绘制单元格,但我不确定如何调用此过程。
是否有另一个过程来识别感兴趣的单元格(即识别单元格的“矩形”属性),设置我想要的颜色,然后调用网格的通用 DrawCell 过程来进行实际着色?