0

我正在尝试做一件简单的事情,但找不到有效的方法。我有一个具有 DataGrid 的 WPF 应用程序。我希望 DataGrid 显示表的所有条目(在 SQL Server CE 3.5 数据库中)。这部分通过设置 DataGrid 的 ItemsSource 很容易完成。

现在我需要用户能够使用在网格的最后一行中输入数据的内置功能来添加行。

我的表有一Id列是表的 PK(它不是一Identity列,因为 SQL Server CE 3.5 不支持 EF)。Id所以我每次输入新项目时都需要计算最大值。

我正在努力使用 DataGrid 事件来实现这个简单的事情,但找不到我的出路。任何人都有如何做到这一点的例子?

谢谢

4

1 回答 1

1

您可以使用该InitializingNewItem事件。InitializingNewItemEventArgs有一个属性NewItem(对象),您可以将其转换为数据类型并设置其键值。您可能希望获得一次最大值并在内存中增加它。

我假设这是创建新对象的唯一地方(因为它是 sql-ce,没有并发性),但是如果您的应用程序中有另一个地方可能发生这种情况,您需要确保唯一键。

于 2012-04-13T19:10:42.897 回答