从 API 使用时如何启用字段
How to Enable Fields when used from API
如何在 API 中将字段设置为可更新,但在屏幕上为只读?
我有一个在 Graph 扩展中定义了自定义 table 的视图。我正在使用 (ViewName).AllowUpdate = false;在主 DAC 的 RowSelected 事件上。这可以很好地使视图中的所有字段在屏幕上禁用,但是我无法更新 API 中的字段。有什么方法可以检测 API 与屏幕中使用的图表吗?
TIA!
你可以做的是在行选择事件中,而不是影响缓存级别的限制,正如你所说,这也会影响 API,你可以使用 PXUIFieldAttribute 来实现相同的场景而不影响API.
例如:PXUIFieldAttribute.SetReadOnly([ViewName].Cache, null, [Condition or just set as true])
这会将视图中的所有字段设置为只读,而无需为屏幕中当前的所有字段重复该行。
我有类似的要求,只允许通过 API 而不是通过 UI 编辑装运图表中的自定义字段。
您可以使用 Graph.IsContractBasedAPI 方法 returns 如果请求是通过基于合同的 API 为真,如下所示:
PXUIFieldAttribute.SetEnabled<SOShipLineExt.usrBOLQty>(cache, e.Row, Base.IsContractBasedAPI);
如何在 API 中将字段设置为可更新,但在屏幕上为只读?
我有一个在 Graph 扩展中定义了自定义 table 的视图。我正在使用 (ViewName).AllowUpdate = false;在主 DAC 的 RowSelected 事件上。这可以很好地使视图中的所有字段在屏幕上禁用,但是我无法更新 API 中的字段。有什么方法可以检测 API 与屏幕中使用的图表吗?
TIA!
你可以做的是在行选择事件中,而不是影响缓存级别的限制,正如你所说,这也会影响 API,你可以使用 PXUIFieldAttribute 来实现相同的场景而不影响API.
例如:PXUIFieldAttribute.SetReadOnly([ViewName].Cache, null, [Condition or just set as true])
这会将视图中的所有字段设置为只读,而无需为屏幕中当前的所有字段重复该行。
我有类似的要求,只允许通过 API 而不是通过 UI 编辑装运图表中的自定义字段。
您可以使用 Graph.IsContractBasedAPI 方法 returns 如果请求是通过基于合同的 API 为真,如下所示:
PXUIFieldAttribute.SetEnabled<SOShipLineExt.usrBOLQty>(cache, e.Row, Base.IsContractBasedAPI);