0
我目前有一個由三個表組成的數據集。這三張表格通過數據關係鏈接起來。SetBinding和Relationship
我想能夠設置綁定到文本框控件和其他人,提供來自所有三個表的信息,同時能夠使用CollectionViewSource進行導航。
目前,我有以下幾點:
var con = Database.GetConnection();
RefundsDS = new DataSet();
RefundAdapter = new SqlDataAdapter("SELECT * FROM MemberMoment WHERE RefundRequestedOn IS NOT NULL", con);
RefundAdapter.Fill(RefundsDS, "MemberMoment");
RefundAdapter = new SqlDataAdapter("SELECT SpecialMomentID, MomentName, MomentDateTime FROM SpecialMoment", con);
RefundAdapter.Fill(RefundsDS, "SpecialMoment");
RefundAdapter = new SqlDataAdapter("SELECT MemberNo, FirstName, Surname FROM Member", con);
RefundAdapter.Fill(RefundsDS, "Member");
Relation = new DataRelation ("MemberToMM", RefundsDS.Tables["Member"].Columns["MemberNo"], RefundsDS.Tables["MemberMoment"].Columns["MemberNo"]);
RefundsDS.Relations.Add(Relation);
Relation = new DataRelation("SpecialMomentToMM", RefundsDS.Tables["SpecialMoment"].Columns["SpecialMomentID"], RefundsDS.Tables["MemberMoment"].Columns["SpecialMomentID"]);
RefundsDS.Relations.Add(Relation);
RefundViewSource.Source = RefundsDS;
this.DataContext = RefundViewSource;
OrderIDTxt.SetBinding(TextBox.TextProperty, "MemberMoment/MemberMomentNo");
MomentNameTxt.SetBinding(TextBox.TextProperty, "SpecialMoment/MomentName");
通常通過數據行導航,我使用:CollectionViewSoureObject.MoveCurrentToPrevious()
等等然而,這不起作用,可能是因爲它是一個數據集。
我該如何修改?
更新:沒關係解決問題,改爲使用JOIN select語句並使用單個DataTable,更容易。
不要回答有問題的答案,請在下面單獨張貼。然後接受。謝謝! – abatishchev