Get selected records in FormGridControl


22/09/2020- duocnt    744 Views    

MỤC ĐÍCH.

 - Lấy ra những record đã được chọn trên Grid để thực hiện những tác vụ nào đó.

CODE X++.

1 - Lấy ra những record được chọn

    [FormControlEventHandler(formControlStr(ProdTableListPage, TransferDataToBook), FormControlEventType::Clicked)]
    public static void TransferDataToBook_OnClicked(FormControl sender, FormControlEventArgs e)
    {
        FormDataSource          _ds;
        MultiSelectionHelper    _selectionHelper;
        Set                     _selectedRecords;
        ProdTable               _ProdTable;
 
        _selectionHelper = MultiSelectionHelper::construct();
        _selectedRecords = new Set(Types::Record);
        _ds = sender.formRun().dataSource("ProdTable");
        _selectionHelper.parmDataSource(_ds);
        _ProdTable  = _selectionHelper.getFirst();
 
        if (_ProdTable.RecId)
        {
            while (_ProdTable)
            {
                _selectedRecords.add(_ProdTable);
                _ProdTable =selectionHelper.getNext();
            }
        }       
     }



2 - Trả lại nơi cần xử lý.


        SetEnumerator                   _se;
        MatchToInternalTransferBookLine _buffer;
 
        _se                 =   _selectedRecords.getEnumerator();
        delete_from _buffer;
        while(_se.moveNext())
        {
            ProdTable _proTable     =   _se.current();
            _buffer.ProductionId    =  _proTable.ProdId;
            _buffer.ItemId          =  _proTable.ItemId;
            _buffer.QtyIssue        =  _proTable.QtySched;
            _buffer.ProdPoolId      =  _proTable.ProdPoolId;
            _buffer.BOMQty          =  _proTable.QtySched;
            _buffer.SalesId         =  _proTable.RsVnRefSalesId;
            _buffer.ItemFG          =  _proTable.RsVnRefItemId;
            _buffer.insert();                   
        }    

Góp ý kiến

;
;