我正在關注wpf mvvm。這裏我想要顯示主鍵值+ 1.即,當代碼執行時,如果表格爲空,則將主鍵的值顯示爲1.如果表格有1行,則顯示2等等。所以使用這種類型。如何在wpf mvvm的表中獲取主鍵的最高值。如何獲取表中主鍵的最高值
我可以使用Max功能嗎?那麼如何?
我正在關注wpf mvvm。這裏我想要顯示主鍵值+ 1.即,當代碼執行時,如果表格爲空,則將主鍵的值顯示爲1.如果表格有1行,則顯示2等等。所以使用這種類型。如何在wpf mvvm的表中獲取主鍵的最高值。如何獲取表中主鍵的最高值
我可以使用Max功能嗎?那麼如何?
我不太明白你想達到什麼,因爲首先你在談論表中的「最高價值」,然後接下來你說的是「如果表有1行,然後顯示2「。
無論哪種方式,在MVVM中,鏈接到Model的所有計算都放置在ViewModel中。 如果你想顯示最高「任何你想對秀」的假設 - TextBox
,你需要:
(在視圖模型)
integer
那將代表你想要的最大值,假設它叫做MyMaximum。綁定到它在視圖(到TextBox
例如)ObservableCollection
ObservableCollection
OnCollectionChanged
每次OnCollectionChanged
正在你應該重新計算MyMaximum你想要的方式(例如,遍歷列表尋找最大值)。除非表中的數據不是綁定到ViewModel。你需要精確。
如果是這樣的話,那麼計算應該在查看一側完成。如果您使用MVVM並在那裏計算,您需要創建附加行爲。
你可以這樣做。讓我們假設你正在使用數據表和主鍵列名爲「ID」:
private static int GetNextId(DataTable table)
{
return table.Rows.Count > 0 ? table.AsEnumerable().Max(row => (int)row["ID"]) + 1 : 1;
}
如果不適合,請具體談談你所需要的。