Axapta 更改查找列的宽度
我创建了一个包含两列的查找,第一列包含和integer,这很好,但是第二列的名称很长,这就是问题所在。用户应该水平滚动以检查整个字符串,即使在这种情况下,列的宽度也不足以显示整个数据 我发现: 但我不知道该在哪里补充什么 我不确定,但可能我必须补充一个事实,即在参数部分中,此查找用于指向SSRS报告的菜单项 更新1: 我使用了一个叫做这样的查找表单:Axapta 更改查找列的宽度,axapta,x++,dynamics-ax-2012,dynamics-ax-2012-r3,Axapta,X++,Dynamics Ax 2012,Dynamics Ax 2012 R3,我创建了一个包含两列的查找,第一列包含和integer,这很好,但是第二列的名称很长,这就是问题所在。用户应该水平滚动以检查整个字符串,即使在这种情况下,列的宽度也不足以显示整个数据 我发现: 但我不知道该在哪里补充什么 我不确定,但可能我必须补充一个事实,即在参数部分中,此查找用于指向SSRS报告的菜单项 更新1: 我使用了一个叫做这样的查找表单: Args args; FormRun formRun; ; args = new Args(); args.name(formstr(Loo
Args args;
FormRun formRun;
;
args = new Args();
args.name(formstr(LookupOMOperatingUnit));
args.caller(_control);
formRun = classfactory.formRunClass(args);
formRun.init();
_control.performFormLookup(formRun);
在这种形式的init方法中,我添加了:
public void init()
{
super();
element.selectMode(OMOperatingUnit_OMOperatingUnitNumber);
}
意思是我真正需要的领域
我不确定我是否完全理解这个机制,但它似乎知道如何将这个确切的字段返回到它真正开始的DialogField
为了使它看起来像一个查找,我将设计风格保留为自动,但将窗口类型更改为弹出式,HideToolBar到Yes和Frame到Border最好的方法可能是进行自定义查找,并更改关键字段的扩展数据类型以反映这一点。这样,变化就反映在所有地方。参见表格
FiscalLendaryEarlookup
和EDTFiscalyEarlookup
作为示例
如果您只需要更改一个位置,那么简单的选择是覆盖调用表单上的performFormLookup
。您还应该覆盖长字段的扩展数据类型的DisplayLength
属性
public void performFormLookup(FormRun _form, FormStringControl _formControl)
{
FormGridControl grid = _form.control(_form.controlId('grid'));
grid.autoSizeColumns(false);
super(_form,_formControl);
}
除非您有表单,否则这对您没有帮助,在本报告场景中可能不是这样
从AX2009开始,内核默认情况下会根据实际记录内容自动更新控件大小。这是一个令人沮丧的原因,因为当没有记录时,这些尺寸很小,并且这些尺寸已保存!此外,在某些情况下,自动更新最初的性能很差。事后,提供了grid control
autoSizeColumns
方法,但遗憾的是,该方法从未作为属性公开。您可以扩展sysTableLookup类并覆盖buildFromGridDesign方法以设置网格控件宽度
protected void buildFormGridDesign(FormBuildGridControl _formBuildGridControl)
{
if (gridWidth > 0)
{
_formBuildGridControl.allowEdit(true);
_formBuildGridControl.showRowLabels(false);
_formBuildGridControl.widthMode(2);
_formBuildGridControl.width(gridWidth);
}
else
{
super(_formBuildGridControl);
}
}
谢谢你的回复。。我是否有可能创建一个表单,从查找方法打开它,选择一行,然后返回所需的字段?也许是这样的:你为什么要这样做?如果可能的话,坚持标准的操作方式。只需将
Style
属性更改为LookupLook,查看表单FiscalLendaryEarlookup
init
和run
方法即可添加正确的行为。您可以为目标字段创建另一种扩展数据类型,然后您不需要任何调用代码。@JanB.Kjeldsen如果我将样式更改为Lookup,它的行为将与以前一样,当时我无法查看整个字符串或调整其大小。。我会看一看你的长卷。。。。