C# PXGrid只能插入一行
我有一个PXGrid和一个复选框控件,头部容器中有一个复选框,网格在细节容器中。我希望这样,当复选框的值为true时,网格可以填充多行,如果复选框的值为false或null时,网格只能填充单行 我已经尝试了以下代码,但它对我不起作用C# PXGrid只能插入一行,c#,erp,acumatica,C#,Erp,Acumatica,我有一个PXGrid和一个复选框控件,头部容器中有一个复选框,网格在细节容器中。我希望这样,当复选框的值为true时,网格可以填充多行,如果复选框的值为false或null时,网格只能填充单行 我已经尝试了以下代码,但它对我不起作用 protected virtual void BSMTNotification_RowSelected(PXCache sender, PXRowSelectedEventArgs e) { if (e.Row == null)
protected virtual void BSMTNotification_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
if (e.Row == null) return;
BSMTNotification head = (BSMTNotification)e.Row;
if(head.Breakdown == false || head.Breakdown == null)
{
if(NotificationActivities.Select().Count != 0)
{
NotificationActivities.AllowInsert = false;
NotificationActivities.Cache.AllowInsert = false;
}
}
else
{
NotificationActivities.AllowInsert = true;
NotificationActivities.Cache.AllowInsert = true;
}
}
对不起,我的英语不好,谢谢。您的代码是正确的,但您应该从NotificationActivity\u row Inserted和NotificationActivity\u row Deleted调用它。就像这样:
protected virtual void NotificationActivity_RowInserted(PXCache sender, PXRowInsertedEventArgs e)
{
if (e.Row == null) return;
BSMTNotification head = BSMTNotifications.Current;
if(head.Breakdown == false || head.Breakdown == null)
{
if(NotificationActivities.Select().Count != 0)
{
NotificationActivities.AllowInsert = false;
}
}
else
{
NotificationActivities.AllowInsert = true;
}
}
仅设置NotificationActivities.AllowInsert就足够了。也不需要设置NotificationActivities.Cache.AllowInsert
此外,您还应确保分解复选框在.aspx中具有“CommitChanges=true”属性。谢谢您的建议,我已尝试从您那里获取建议,但如果数据未保存,网格仍可以填充多行。还有什么其他方法可以解决此类案件?