2016-05-10 2 views
1

У меня есть PXGrid и управления Флажок, есть флажок в головной контейнер и сетка в подробном контейнере. Я хочу, чтобы это так, когда флажок имеет значение = «истинный», сетка может быть заполнено несколько строк, и если значение флажок = «ложной» или нулевой, сетка может быть заполнена только один ряд.PXGrid можно вставить только одну строку

Checkbox in head container PXGrid in detail container

Я попытался следующий код, но это не работает для меня.

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; 
     } 
    } 

Извините, мой английский плохой, спасибо.

ответ

1

Ваш код верный, но вы должны называть его NotificationActivity_RowInserted и NotificationActivity_RowDeleted. например:

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; 
    } 
} 

Установка только УведомлениеActivities.AllowInsert достаточно. Не требуется также устанавливать NotificationActivities.Cache.AllowInsert.

Кроме того, вы должны убедиться, что Разбивка флажок имеет «CommitChanges = True» свойство в .aspx

+0

спасибо за ваши советы, я попытался предложения от вас, но сетка может еще быть заполнена более чем одна строка, если данные не были сохранены. Какие существуют другие способы решения такого случая? – Distor4by

Смежные вопросы