Axapta 在语句上更改allowedit
我试图更改单个字段上的allowedit值,但无法进入该字段。 这是我的实际代码,但我得到错误: 好的,我重建了模型,一切正常Axapta 在语句上更改allowedit,axapta,microsoft-dynamics,x++,Axapta,Microsoft Dynamics,X++,我试图更改单个字段上的allowedit值,但无法进入该字段。 这是我的实际代码,但我得到错误: 好的,我重建了模型,一切正常 [ExtensionOf(formStr(ProdParmReportFinished))] final class ProdParmReportFinishedWG_Extension { public void init() { next init(); ProdTable prodTable; select firstOnl
[ExtensionOf(formStr(ProdParmReportFinished))]
final class ProdParmReportFinishedWG_Extension
{
public void init()
{
next init();
ProdTable prodTable;
select firstOnly RecId from prodTable
where prodTable.InventRefType != InventRefType::None
&& prodTable.ProdId == prodTable.InventRefId
&& prodTable.ProdStatus != ProdStatus::ReportedFinished;
prodParmReportFinished_ds.object(fieldNum(ProdParmReportFinished, EndJob)).allowEdit(prodTable.RecId != 0);
}
}
如果您正在使用扩展,请尝试以下操作
[PostHandlerFor(formStr(YourForm), formMethodStr(YourForm, YourMethod))]
public static void YourForm_xxx(XppPrePostArgs args)
{
FormRun sender = Args.getThis();
sender.control(sender.controlId(formControlStr(YourForm, YourDatasource_Field))).allowEdit(false);
}
用鼠标右键单击并选择copy event handler method(复制事件处理程序方法),方法的正确结构将复制给您,然后输入代码,如果您正在使用扩展,请尝试以下操作
[PostHandlerFor(formStr(YourForm), formMethodStr(YourForm, YourMethod))]
public static void YourForm_xxx(XppPrePostArgs args)
{
FormRun sender = Args.getThis();
sender.control(sender.controlId(formControlStr(YourForm, YourDatasource_Field))).allowEdit(false);
}
用鼠标右键单击并选择“复制事件处理程序方法”,方法的正确结构将被复制到您手中,然后您输入代码您将代码放在哪里?我为它创建了一个新类,正在使用扩展它取决于您扩展的确切内容:表单、表单数据源或表单控件。e、 g.ExtensionOfFormDatasourceStr,]我只扩展了表单和数据源。您的代码放在哪里了?我为它创建了一个新类,正在使用扩展它取决于您扩展的内容:表单、表单数据源或表单控件。e、 我只扩展了表单和数据源。谢谢,明天再试试。所以我可以在我的声明中使用这个?你能检查一下我的其他关于验证过程的开放线程吗?我有3个错误。在此作用域中找不到无效的标记“sender”,“sender”,应为。在-Validating]之后,似乎您没有正确地创建事件处理程序方法我实际上错过了类扩展,所以我没有最终的类。现在我有这样的东西。prodParmReportFinished\u ds.objectfieldNumProdParmReportFinished,EndJob.allowEditprodTable.RecId!=0; 但我在下一个init方法中出错。无法打开名为ProdParmReportFinished的表单。执行代码时出错:对象没有方法“runbase”。谢谢,明天再试。所以我可以在我的声明中使用这个?你能检查一下我的其他关于验证过程的开放线程吗?我有3个错误。在此作用域中找不到无效的标记“sender”,“sender”,应为。在-Validating]之后,似乎您没有正确地创建事件处理程序方法我实际上错过了类扩展,所以我没有最终的类。现在我有这样的东西。prodParmReportFinished\u ds.objectfieldNumProdParmReportFinished,EndJob.allowEditprodTable.RecId!=0; 但我在下一个init方法中出错。无法打开名为ProdParmReportFinished的表单。执行代码时出错:对象没有方法“runbase”。