在 C# CollectionViewSource 中定位一条记录
Locate a record in a C# CollectionViewSource
我有一个 CollectionViewSource,它包含一组从 MS SQL 服务器 Table 中提取的索引记录,称为使用 Entity framework 6.2.
的示例
示例被声明为我的 DbContext class 的 DbSet 属性 即:
public virtual DbSet<Example> Examples { get; set; }
我的 CollectionViewSource 是:
CollectionViewSource exampleViewSource;
我可以在集合中四处移动并使用以下示例计算它包含的记录数:
int selectedRecordPosition = exampleViewSource.View.CurrentPosition;
exampleViewSource.View.MoveCurrentToPrevious();
int numberOfRecordsInCollectionView = exampleViewSource.View.SourceCollection.Cast<Example>().Count();
如何找到集合中的特定记录并将其设置为记录指针的当前位置?
我正在寻找类似的东西:
var selectedObject = exampleViewSource.View.SourceCollection.Find(key1, key2); // example pseudo code.
exampleViewSource.View.MoveCurrentTo(selectedObject);
key1 和 key2 是示例表行的主访问键。
有人可以帮忙吗?
BionicCode 提供了我的问题的解决方案,但肯定有人删除了它。
根据 BionicCode 的回答,我编码了......
Example selectedObject = exampleViewSource.View.SourceCollection.Cast<Example>()
.Where(selectedRecord =>
selectedRecord.Column1Name == key1 &&
selectedRecord.Column2Name == key2)
.FirstOrDefault();
if (selectedObject == null) break;
exampleViewSource.View.MoveCurrentTo(selectedObject);
唯一的区别是 BionicCode 没有使用 Cast,而且他的 post 在我完全跟上之前就消失了。
无论如何,非常感谢 BionicCode - 你让我摆脱了困境。
我有一个 CollectionViewSource,它包含一组从 MS SQL 服务器 Table 中提取的索引记录,称为使用 Entity framework 6.2.
的示例示例被声明为我的 DbContext class 的 DbSet 属性 即:
public virtual DbSet<Example> Examples { get; set; }
我的 CollectionViewSource 是:
CollectionViewSource exampleViewSource;
我可以在集合中四处移动并使用以下示例计算它包含的记录数:
int selectedRecordPosition = exampleViewSource.View.CurrentPosition;
exampleViewSource.View.MoveCurrentToPrevious();
int numberOfRecordsInCollectionView = exampleViewSource.View.SourceCollection.Cast<Example>().Count();
如何找到集合中的特定记录并将其设置为记录指针的当前位置?
我正在寻找类似的东西:
var selectedObject = exampleViewSource.View.SourceCollection.Find(key1, key2); // example pseudo code.
exampleViewSource.View.MoveCurrentTo(selectedObject);
key1 和 key2 是示例表行的主访问键。
有人可以帮忙吗?
BionicCode 提供了我的问题的解决方案,但肯定有人删除了它。 根据 BionicCode 的回答,我编码了......
Example selectedObject = exampleViewSource.View.SourceCollection.Cast<Example>()
.Where(selectedRecord =>
selectedRecord.Column1Name == key1 &&
selectedRecord.Column2Name == key2)
.FirstOrDefault();
if (selectedObject == null) break;
exampleViewSource.View.MoveCurrentTo(selectedObject);
唯一的区别是 BionicCode 没有使用 Cast,而且他的 post 在我完全跟上之前就消失了。 无论如何,非常感谢 BionicCode - 你让我摆脱了困境。