我想在检查记录索引后将记录从一个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;
}
}
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();