Axapta 表单网格中的动态字段(X+;+;)

Axapta 表单网格中的动态字段(X+;+;),axapta,x++,dynamics-ax-2012,Axapta,X++,Dynamics Ax 2012,目前,我有一个包含用户输入的表,这些输入将以表单的形式显示 在这种情况下,我可以手动在表单中显示复选框,但随着用户输入的增加,我需要自动生成复选框。有没有办法在X++中实现这一点 没有限制复选框是水平还是垂直排列,只是如果它可以显示为列就好了 我想让复选框自动生成,这样当表有输入时,我就不需要手动插入表单 这就是为什么当我看摊位1时,我知道它卖的是什么菜单。正如FH Inway所提到的,你需要创建额外的表格,例如表格。请查找以下代码以动态添加控件: form = formRun.form()

目前,我有一个包含用户输入的表,这些输入将以表单的形式显示

在这种情况下,我可以手动在表单中显示复选框,但随着用户输入的增加,我需要自动生成复选框。有没有办法在X++中实现这一点

没有限制复选框是水平还是垂直排列,只是如果它可以显示为列就好了

我想让复选框自动生成,这样当表有输入时,我就不需要手动插入表单


这就是为什么当我看摊位1时,我知道它卖的是什么菜单。

正如FH Inway所提到的,你需要创建额外的表格,例如
表格。请查找以下代码以动态添加控件:

form   = formRun.form();
design = form.design();

grpCtrl = design.addControl(FormControlType::Group, #GroupControl);    

while select Table_A
{
    idx++;

    Table_ATable_BRelation = this.findOrCreateRelation(Table_A, Table_B);

    chkBoxCtrl = grpCtrl.addControl(FormControlType::CheckBox, strFmt("CheckBox%1", Table_A.ID));
    chkBoxCtrl.label(Table_A.Food_Menu);
    chkBoxCtrl.labelPosition(LabelPosition::Above);
    chkBoxCtrl.helpText(strFmt("your text here %1.", Table_A.Food_Menu));
    chkBoxCtrl.value(Table_ATable_BRelation.IsSelling);

    chkBoxCtrl.registerOverrideMethod(methodStr(FormCheckBoxControl, clicked),
                                      methodStr(ClassHelper, checkBoxClicked),      
                                      this);
}

grpCtrl.columns(idx);

为什么您不能直接在
表a
中的每行上打一个复选框?然后,它将“自动”每行有一个新的复选框。。。为什么要将行转换为列?我想这是有上限的。将表A加载到新表,并带有额外的复选框字段,该字段与表单中的父表相关,并在表单中的网格中显示带有复选框的新表。感谢您的答复,我已更新了我的问题,并提供了更多详细信息。我无法在表_a上设置复选框,因为这将使表_B中的项目始终更新,并且表_a中的同一行。正如您所看到的,表_B中可能有许多行,如果我在表_B中设置了复选框,表_B中的每条记录都将更新表_a中的同一条记录,对吗@Alexkwitny你能解释一下你的想法吗@PradeepMuttikulangaraVasu?将表A加载到带有额外复选框的新表中会产生与我在表A中添加复选框相同的结果,对吗?我认为Pradeep意味着您需要一个额外的表来定义
表A
表B
之间的
n:m
关系。