如果你還沒有,你需要確保你的類是複合。換句話說:
class Child
{
int ChildId { get; set; }
}
class Parent
{
int ParentId { get; set; }
List<Child> Children { get; set; }
}
從這裏開始,Dev Express將爲您完成所有繁重的工作。
比方說,你有兩個網格,gridMaster
和gridChild
。創建兩個綁定源,bindMaster
和bindChild
。
在設計器中,使bindMaster的DataSource成爲Parent類型的對象。爲bindChild創建數據源bindMaster(不是對象Master)並將DataMember屬性設置爲「Child」。
現在,當您刷新主數據和選擇行時,子網格會自動填充到任何主記錄的子節點 - 沒有任何手寫代碼!
這裏是另一個類似的問題的例子:
Devexpress master-detail in 2 gridcontrols
至於產品的價格/淨價格,你有兩個選擇:
請在未綁定列網格
(我的偏好),直接添加屬性到對象
像這樣的東西會工作:
public double ProductPrice { get; set; }
public double NetPrice
{
get { return ProductPrice * Quantity; }
}
您威力必須對網格視圖火RefreshData()
如果在網格中的數據發生變化,但我會測試它首先看是否這是必要的。
感謝您對如何計算netprice的幫助, 我需要網格控制和視圖的進一步幫助,正如您所提到的, class child { public int ChildId {get;組; } 公開列表玩具{get; set;} } public class Toys { public string toyname {get;組; } public int toyprice {get;組; } } ..等等 我想我需要使用一個gridcontrol有多個視圖,你能幫我我怎麼能用單個網格? –
TRM
如果您使用單個網格,則更容易 - 只需綁定一個網格,並自動創建主/明細視圖。你有什麼問題? – Hambone
嗨, 我能夠使用單個網格與關卡設計師顯示主行和子行。需要進一步的幫助,按我的要求,我想第一個孩子的信息顯示主排 我怎麼能做到這一點 例如 現在法師一行看起來像下面 ------ | 家長ID | 如果我展開子行看起來像下面 ------ | 孩子ID | 但我想要顯示主行爲 ----------- | --- ParentID,| child id | 如果我展開子行應該看起來像 ----------- 子代碼(子行顯示正常) – TRM