首页 > 解决方案 > 如何禁用 Sap Business One 表单的默认调整大小行为?

问题描述

我正在为我们的自定义 SBO 表单开发自定义 UI 布局系统。即捕捉表单的调整大小事件并根据我们特定的布局逻辑安排控件。问题是,显然,SBO 尝试根据其(笨拙和原始的)逻辑在每个表单调整大小上首先安排控件!我的代码处理调整大小事件并重新排列项目有效,但存在明显的性能延迟,因为项目基本上在每次调整大小时重新定位两次 - 一次由 SBO 本身,然后由我的代码。

有没有办法在调整大小期间停止SBO 在我们的自定义表单上排列控件,以便我的代码(在调整大小事件处理程序中)只定位一次它们?

标签: sapb1

解决方案


Boyum IT 的这个页面有助于解释调整大小的规则是什么。此页面上有其他信息

为了总结这些页面,每个表单都被分成 4 个象限,这些象限被有效地固定在它们所属的表单的角落。这意味着当您调整表单大小时,这些象限会相互分离,在它们之间留下很大的空间。

我不认为有一种简单的方法可以防止这种行为开箱即用,但是您可以使用 B1 UI API 手动覆盖它,方法是设置项目的 LinkTo 属性以匹配其中一个项目的 ID左上象限,这会导致给定项目以与 LinkTo 中指定的项目相同的行为移动。


推荐阅读