检查每条记录的索引后,将一个 IEnumerable 的内容复制到另一个
Copy the content one IEnumerable to another after checking the index of each record
我想在检查记录的索引后将记录从一个 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();
我想在检查记录的索引后将记录从一个 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();