0
我會從存儲過程中填充一個樹形視圖。存儲過程的C#Treeview
該程序返回一系列季節和劇集。
program_id program_header_id title
1 Null Game of Thrones
2 1 Saison 1
3 1 Saison 2
4 1 Saison 3
5 2 Episode 1
6 2 Episode 2
7 2 Episode 3
8 2 Episode 4
9 3 Episode 1
10 3 Episode 2
11 4 Episode 1
我想看看這一個TreeView
- Game of Thrones
- Saison 1
- Episode 1
- Episode 2
- Episode 3
- Episode 4
- Saison 2
- Episode 1
- Episode 2
- Saison 3
- Episode 1
這裏是我的代碼來填充樹狀
SqlCommand cmd;
cmd = new SqlCommand("S_fiction_program_search_v3", mycon);
cmd.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable("treeProgram");
SqlDataAdapter dataAdp = new SqlDataAdapter(cmd);
dataAdp.Fill(dt);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
ds.Relations.Add("rsParentChild", ds.Tables["treeProgram"].Columns["program_id"], ds.Tables["treeProgram"].Columns["program_header_id"]);
tvMain.ItemsSource = ds.Tables["treeProgram"].DefaultView;
而XAML:
<TreeView Name="tvMain" Grid.Row="2">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding rsParentChild}">
<TextBlock Text="{Binding original_title}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
現在,樹視圖就像這樣被填充:
- Game of Thrones
- Saison 1
- Episode 1
- Episode 2
- Episode 3
- Episode 4
- Saison 2
- Episode 1
- Episode 2
- Saison 3
- Episode 1
- Saison 1
- Episode 1
- Episode 2
- Episode 3
- Episode 4
- Saison 2
- Episode 1
- Episode 2
- Saison 3
- Episode 1
- Episode 1
- Episode 2
- Episode 3
- Episode 4
- Episode 1
- Episode 2
- Episode 1
樹形視圖複製所有數據.... :-( 你有一個想法?
這只是一個模糊的猜想,但是如果您已經在Designer中手動設置了DataSet,然後再使用代碼執行它,則可能會發生這樣的問題。 –
你的季節和劇集仍然在'rsParentChild'中。通過'ds.Relations'你得到正確的樹,但是這並不妨礙你在主樹中顯示季節和情節。我對「DataSets」和「DataTables」一無所知,所以我沒有解決方案。 –