2013-08-06 74 views
1

我有兩個級別(讓我們說,lvCountries和lvCities)和兩個視圖(tvCountries和tvCities恭敬地)的QuantumGrid。 在兩個視圖中的所有屬性都設置正確和網格顯示,因爲它應該:QuantumGrid Master-detail

  • 法國
    • 巴黎
    • 馬賽
    • 里昂
  • 德國
    • 德累斯頓
    • 漢堡

直至目前爲止一切都被罰款。

但我也有一個編輯窗體(由具有主 - 細節網格的窗體上的按鈕激活)。 我想在此表單上顯示一個新的網格,其中包含當前詳細資料的數據。如果在主窗體法國選擇,編輯表單應在其網僅顯示法國城市:

  • 巴黎
  • 馬賽
  • 里昂

我連着同一數據源編輯形式的網格,我用於主要形式的詳細視圖,但顯示來自所有國家的所有城市。

  • 巴黎
  • 馬賽
  • 里昂
  • 德累斯頓
  • 漢堡

據我瞭解,這是因爲詳細數據在他們的數據源沒有經過過濾,但在他們看來,並且數據源顯示其數據集中的所有值(順便說一下,我使用ADODatasets)。

有沒有辦法在另一個窗體上僅顯示當前主記錄的詳細數據?

回答

2

將屬性添加到設置爲所選記錄的鍵值的詳細信息表單中。例如

TFormDetail= Class(TForm) 
.. 
Public 
    Property CountryID : String Read FCountryID Write FCountryID; 
End; 

在FormShow

Procedure TFormDetail.FormShow(Sender : TObject); 
Begin 
// Add your filter/where clause to CountryID 
    End; 

當你調用FormDetail: -

lFrm := TFormDetail.Create(Nil); 
    Try 
     lFrm.CountryID := // whatever 
     lFrm.ShowModal; 
    Finally 
     FreeAndNil(lFrm); 
    End; 
+0

謝謝你,你的解決方案是好的。 –

相關問題