Флажок в сетке не вызывает событие fieldupdated - PullRequest
0 голосов
/ 02 октября 2018

У меня установлен флажок в пользовательской сетке, не вызывающий событие Fieldupdated.

    protected void MyTable_Selected_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e, PXFieldUpdated del)
{
    del?.Invoke(cache, e);
    var row = (MyTable)e.Row;
    if(row.Selected == true )
    {
        //
    }
}

Ниже приведен код на странице aspx

 <px:PXCheckBox ID="edSelected" runat="server" AlreadyLocalized="False" CommitChanges="True" DataField="Selected" Text="Selected">
                    </px:PXCheckBox>

Определение DAC для поля

#region Selected
        public abstract class selected : IBqlField { }

        /// <summary>
        /// Used for selection on screens.
        /// </summary>
        [PXDBBool]
        //[PXDefault(false)]
        [PXUIField(DisplayName = "Selected")]
        public virtual bool? Selected { get; set; }
        #endregion

Когда я щелкаю в сетке, появляется красная метка и значение не фиксируется на стороне сервера.

enter image description here

1 Ответ

0 голосов
/ 10 октября 2018

У меня была та же проблема, и я выяснил, что свойство "BatchUpdate" было установлено в "true" в Grid, что предотвращает передачу изменений на сервер.

Как только я установил его в falseработает нормально:

enter image description here

...