我正在尝试做一件简单易懂的事情,但找不到有效的方法。我有一个具有DataGrid的WPF应用程序。我希望DataGrid显示表的所有条目(在SQL Server CE 3.5数据库中)。通过设置DataGrid的ItemsSource,可以轻松完成该部分。
现在我需要用户能够使用仅在网格的最后一行输入数据的内置功能来添加行。
我的表有一个Id
列,它是表的PK(它不是Identity
列,因为SQL Server CE 3.5不支持EF)。因此,每次输入新项目时,我都需要计算最大Id
。
我正在努力使用DataGrid事件来实现这个简单的事情,但无法找到我的方法。任何人都有一个如何做到这一点的例子?
由于
答案 0 :(得分:1)
您可以使用InitializingNewItem
事件。 InitializingNewItemEventArgs
有一个属性NewItem
(对象),您可以将其转换为数据类型并设置其键值。您可能希望获得一次最大值并在内存中增加它。
我认为这是创建新对象的唯一地方(因为它是sql-ce,没有并发),但是如果你的应用程序中有另一个地方可能发生这种情况,你需要确保唯一的密钥。 / p>