2012-08-24 37 views
1

我正在使用綁定到對象(實體)的GridView。網格可以被過濾,也可以根據顯示的數據進行定製。行,列和更具體的單元格將使用一些規則進行格式化,但也可以由用戶專門設置格式化選項來進行格式化。如何記住GridView中單元格的格式選項

我的問題是關於調用特定單元格的選擇格式的最佳方法。目前我最好的方法是爲每個單元格存儲一個id,查找該單元格的所有格式(即ForeColor,BackColor,FontWeight等)。

另一種方法是創建一個新表(稱爲Formatted_Cells),該表存儲有問題的表的ID和列名,然後是格式化選項。這將涉及每次處理單元檢查Formatted時檢查Formatted_Cells表格。這是相當多的處理(類似於上述方法)。如果我這樣做了,我可以標記任何具有自定義格式的行,如果他們不這樣做,我不需要檢查Formatted_Cells表,它確實爲記住每個單元格的格式提供了優勢,當絕大多數不會有任何自定義格式。

有沒有更好的方法?我不認爲我可以使用序列化來幫助網格從可能在其他地方修改的數據庫加載。但也許我錯過了明顯的東西?

非常感謝。

+0

請標記如果它是winforms或asp.net並顯示你已經嘗試過。 –

+0

我會說使用額外的表。這是大量的工作,但你在這裏要求瘋狂的細節......爲什麼有人想要爲每個單元格指定格式? – MrFox

+0

他們不會 - 但他們可能會特別添加任何單元格的格式,所以我需要能夠跟蹤它。額外的表格是要走的路。 – user1622713

回答

1

我會建議一個額外的表格。

兩個可能的解決方案浮現在腦海中:

1-執行格式化兩遍。首先正常加載網格,然後從數據庫讀取Formatted_Cells表格,在網格中查找樣式化的行並應用特殊樣式。

2-當爲單元格查詢數據庫時,使用左連接添加Formatted_Cells表。加載網格時,請檢查可能來自左連接的其他列,然後應用這些列。如果沒有額外的列,風格正常。

相關問題