在检查每个记录的索引后,将一个IEnumerable的内容复制到另一个IEnumerable

问题描述 投票:0回答:1

我想在检查记录索引后将记录从一个IEnumerable复制到另一个IEnumerable。 pvm由具有n个列和m个行的记录集组成。在view_filter方法中,我正在检查索引。如果条件良好,我想将记录复制到_invMstrSrchResults。索引被一一检查。

        public PagingViewModel(IEnumerable<InventoryMasterItem> pvm)
        {            
            ViewList = new CollectionViewSource();
            ViewList.Source = pvm;
            ViewList.Filter += new FilterEventHandler(view_Filter);

            CurrentPageIndex = 0;
            itemcount = 100;
            CalculateTotalPages();            
        }

        private IEnumerable<InventoryMasterItem> _invMstrSrchResults;

        void view_Filter(object sender, FilterEventArgs e)
        {
            int index = ((InventoryMasterItem)e.Item).indexNo - 1;
            if (index >= itemPerPage * CurrentPageIndex && index < itemPerPage * (CurrentPageIndex + 1))
            {
                 // I want to copy record from pvm to _invMstrSrchResults here
                 e.Accepted = true;               
            }
            else
            {
                e.Accepted = false;
            }
        }
c# wpf ienumerable
1个回答
0
投票

FilterEventArgs应该包含一个可以在InventoryMasterItem中检索的view_Filter对象。另外,您可能需要临时创建一个不同的集合List<InventoryMasterItem>,然后将其强制转换为IEnumerable<InventoryMasterItem>

InventoryMasterItem item = e.Item as InventoryMasterItem;
var list = new List<InventoryMasterItem>();
list.Add(item);
_invMstrSrchResults = list.AsEnumerable();
© www.soinside.com 2019 - 2024. All rights reserved.