掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DataSet内のDataTableを結合したものを取得するには? (ID:142943)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Linq を使って結合するという手も。 Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Dim ds = GetSample() Dim q = From R1 In ds.Tables("JOB") Group Join R2 In ds.Tables("PERSON") _ On R1.Field(Of String)("PERSON_ID") Equals R2.Field(Of String)("PERSON_ID") _ Into RightTableResults = Group _ From G In RightTableResults.DefaultIfEmpty() _ Select PERSON_ID = R1.Field(Of String)("PERSON_ID"), _ ITEM = R1.Field(Of String)("ITEM"), _ PERSON_NAME = If(G Is Nothing, "(未定義)", G!PERSON_NAME) DataGridView1.DataSource = q.ToArray() End Sub Function GetSample() As DataSet Dim ds As New DataSet() ds.ReadXml(J.CreateReader(), XmlReadMode.InferSchema) ds.ReadXml(P.CreateReader(), XmlReadMode.InferSchema) Return ds End Function Dim J = <JOBS> <JOB> <PERSON_ID>1</PERSON_ID> <ITEM>アイテムその1</ITEM> </JOB> <JOB> <PERSON_ID>2</PERSON_ID> <ITEM>アイテムその2</ITEM> </JOB> <JOB> <PERSON_ID>1</PERSON_ID> <ITEM>アイテムその3</ITEM> </JOB> <JOB> <PERSON_ID>3</PERSON_ID> <ITEM>アイテムその4</ITEM> </JOB> </JOBS> Dim P = <PEOPLE> <PERSON> <PERSON_ID>1</PERSON_ID> <PERSON_NAME>山田</PERSON_NAME> </PERSON> <PERSON> <PERSON_ID>2</PERSON_ID> <PERSON_NAME>田中</PERSON_NAME> </PERSON> </PEOPLE>
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.