问题标签 [tgrid]
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 - 如何将 TClientDataset 的更改发送回 RTC 服务器?
嗨,我在 Delphi 中有一个带有 RTC 的服务器/客户端应用程序。我的客户端是一个 Android Mobil 设备并且有一个 TGrid。服务器从 dbf 文件中获取数据,并通过 HTTP 将此数据作为数据集发送到客户端。客户端获取数据并填充 TGrid,这可以工作,但是如果我想将更改数据发回,它不起作用#t work :(
这是我的代码:
delphi说我数据没有初始化
...
Grid 从 GetDataSet 获取数据,我只想发回更改!GetDataset 是全局的。
delphi - 与 LiveBindings 和数据集一起使用时如何使 TProgressColumn 工作
我的目标是拥有一个包含多个列的 TGrid,通过 LiveBindings 连接到 TClientDataSet。其中一列是 TProgressColumn 类型。
网格显示数据,但进度条列不显示任何内容(即 0% 进度)。
TProgressColumn 连接到 ftInteger 类型的字段。此字段中的值介于 0 和 100 之间。
我尝试过使用 ftSingle,但没有运气。我通过 ColumnStyle 属性将列的类型设置为 TProgressColumn,该属性在 TLinkGridToDataSourceBindSourceDB/Columns 下可用。
奇怪的是,当我使用 TPrototypeBindSource 生成值时 - TProgressColumn 有效,但仅适用于 ftUInteger 值。ftInteger 生成器失败。
这是一个小演示(Delphi XE7):
当我在 TProgressCell.DrawCell() 中放置一个断点并跳过 Value.IsOrdinal 和 Value.IsType 的两个条件时,ClampValue 接收到一个值为 0 的“Min”。该值似乎有问题,通过到功能。
使用 TProgressColumn 时有什么特别之处吗?我需要在 TLinkGridToDataSourceColumn 中使用 CustomFormat、CustomParse 吗?
这是一个错误还是我错过了什么?
更新: 感谢“nompa”,谜团解开了!
事实上,“asInteger”是 TField 类的众所周知的属性,即:
在 CustomFormat 属性中,您可以访问许多东西,包括 self.asInteger 属性。更多信息在这里:
delphi - 如何从 Delphi 的 TClientDataset 中获取新的字段值?
嗨,我在 Delphi 中遇到了 TClientDataset 的问题。我想获得一个带有更改数据的数据集。
这是我的代码:
例如:在第 3 列中是文本 blueblue,我将其更改为 redred。计数器说我更改了 1 是正确的,但值说我字符串是 blueblue ......但我想要数据 redred :((
delphi - 使用格式化单元格的 Firemonkey XE5 TGrid 滚动问题
我正在使用 Delphi XE5,并尝试根据每个单元格的内容格式化 TGrid。对于数字,我希望它们在单元格中右对齐,负数以红色字体显示。所有其他数据应在单元格中左对齐。当我向上或向下滚动网格时颜色/对齐出错时,以下代码实现了这一点。
有人可以帮我解决这个问题吗?我在这个论坛上尝试了很多例子,但无法让它们正常工作,而且我真的被卡住了。
非常感谢期待。
delphi - 如何使用 Delphi XE7 更改字符串网格特定单元格的颜色
我正在使用 Delphi XE7 开发 Android 应用程序。在那我使用了TStringGrid 组件,然后我使用
StringGrid.cells[0, 0] := 'Test'
了我如何更改我在代码中显示的那个特定单元格的字体颜色。而且我也有这个示例代码,但我无法更改特定单元格的字体颜色。请任何人解释我如何更改特定单元格值的字体颜色。我正在使用 Delphi XE7,我的目标是 Android 手机。
谢谢..
c++ - 设置 Firemonkey 控件的 OnMouseMove 方法
我有一个自定义控件,我正在尝试为其定义一个 OnMouseMoveFunction。本质上,该控件用作搜索栏,由一个编辑框和一个TGrid
用于显示结果的子自定义控件组成。我已经处理了几个鼠标事件TGrid
,但是在尝试实现 OnMouseMove 时,当我尝试设置TGrid
OnMouseMove 方法时出现以下错误:
E2034 Cannot convert 'void (_fastcall * (_closure )(TMouseMoveEvent))(TMouseMoveEvent)' to 'TMouseMoveEvent'
这是定义函数的头文件的一部分:
void __fastcall GridMouseMove( TMouseMoveEvent * MouseEvent );
这是控件的 CPP 文件中的实际函数:
到目前为止,一切都会编译得很好。但是,当我将TGrid
OnMouseMoveEvent 处理程序分配给我分配的方法时,我收到错误消息。
我错过了什么导致它无法构建?
c++ - 在代码中突出显示 TGrid 行
我有一个自定义控件TGrid
,我正在尝试制作它,因此当鼠标悬停在一行上时,该行会突出显示。如果我使用箭头键导航网格,行会自动突出显示。但是,我不确定如何复制此效果以使用鼠标进行导航。
目前,我有一个 MouseMove 函数,它可以检测鼠标悬停在网格的哪一行。
我最初认为使用该SelectRow
功能会达到预期的效果,但是使用该方法时没有任何反应。另外我尝试过使用
FGrid->SelectCell(0, rowSelected);
这也不起作用。
我已经验证我从函数中获得了正确的行,当鼠标悬停在它上面时,将一行的文本设置为粗体
FGrid->RowObjects[rowSelected]->SetBold();
delphi - 如何将 TGrid 的“选定”属性设置为-1
我正在使用一个FMX.Grid.TGrid
用户可以选择完整行的。在某些情况下,我想重置此选择。如果我这样做grid.selected = -1
或使用grid.selectRow(-1)
选择从网格中删除但grid.selected
设置为'0'(in TCustomGrid.SelectCell
),这是第一行。
如何重置选择以使属性grid.selected
为“-1”?
delphi - 如何通过 LiveBindings 在 FMX TGrid 中填充用户定义的列
我正在尝试通过TCalendarEdit
以下方式在网格组件内创建一个包含列。
它工作正常。然后,我从日期类型的 FDQuery 字段填充列。我能够建立一个实时绑定链接并填充传统类型的列,并且我可以将我的 DateColumn 添加到网格中。我尝试通过以下方式将此列连接到 BindSourceDB
但这会破坏网格中的所有列并创建一个新列(我想是 TColumnType)。如果存在 LiveBinding 链接,则传统上用于为用户声明的列中的单元格分配值的网格的事件 OnGetValue 不会触发。我认为可以手动填充列,但是如何使用 Livebindings 机制填充此列?
delphi - 如何使用用户定义的 FMX TGrid 库中更改的数据更新数据集字段的值
我使用以下方式来定义和填充带有 TCalendarEdit 原始单元格的列(这里是界面部分)。让我知道是否需要公开实现。
代码工作正常,类型列TDateColumn
可以添加到网格中。
我问了一个问题并为其打开了一个赏金,以寻找一种填充用户定义列的技术,LiveBindings
但在赏金到期日之前我没有得到任何答案。这就是为什么我现在尝试另一种方式。我声明一个集合DynamicData: TList<TDynamicRecord>;
并从数据集中填充它。@Mike-Sutton的回答和他的博客中非常清楚地解释了这种方法。我设法做到了这一点。数据在网格及其新定义的列中正确显示。
但现在我被另一个问题困住了。我需要更新有关用户活动的数据集。我尝试了父网格的OnSetValue
andOnEditingDone
事件(根据文档,这些事件将用于数据更新),但奇怪的是它没有触发。
什么是适合更新数据集的正确事件或其他方式?