在WinForms應用程序的以下場景中綁定數據網格的最佳策略是什麼? 讓說,我有表一個強類型數據集:將datagrid綁定到一個表並顯示來自父表的字段
Table1 (T1_ID, T1_VALUE) <--* Table2 (T2_ID, T1_ID, T2_VALUE) <--* Table3(T3_ID, T2_ID, T3_VALUE)
我要綁定從表2和表1一個DataGrid,以表3和顯示領域,並具有過濾能力,排序的所有列:
T3_VALUE | T2_VALUE | T1_VALUE
這種情況下常用的綁定方法是什麼?
我看到下列選項:
添加計算列:
Table2.T1_VALUE = PARENT(T2_T1).T1_VALUE
Table3.T2_VALUE = PARENT(T3_T2).T2_VALUE
Table3.T1_VALUE = PARENT(T3_T2).T1_VALUE
其中T2_T1,T3_T2 - 關係的名字。
這似乎是正確的道路要走,但我擔心被污染的乾淨的數據模型,只有對UI的目的需要(在其他地方的代碼,我仍然會用Table3Row.Table2Row.Table1Row.T1_VALUE
使用LINQ查詢冗餘計算列從不同的表 但在這種情況下,數據集,並得到列,電網將無法將數據寫入表3還排序。
綁定網格表3和處理是使細胞活動,並且輸出值父表格 網格可以寫入表格3,但無法排序(我正在使用syncfusion網格,但我認爲它沒有任何區別)
實現一個可以顯示多個表中的數據並更新主表的視圖。我沒有朝這個方向發展,這似乎太複雜了。可能嗎?
正如我所指出的,使用計算列可以解決所有問題,並且似乎是解決它的最簡單方法。但也許有更優雅和正確的方法。
'我想將一個數據網格綁定到Table3,並顯示來自Table2和Table1的字段,並且能夠過濾,按所有列進行排序:' - > Create a View !! – 2012-07-10 16:45:57
這在#4中提到。我不確定是否有可能。 – xll 2012-07-10 17:59:37