我有一个从 Oracle 查询创建的数据集。我从函数中获取数据表并将其添加到数据集。
现在我尝试将treeview绑定到ds。我的代码背后:
private void init_TreeView()
{
//TreeViewItem parent = PM_TreeView.Items.Add("Requirements");
DataTable dt = DataBases.RunQuery();
dt.TableName = "REQ";
DataSet ds = new DataSet();
ds.Tables.Add(dt);
//ds.Relations.Add("rsParentChild", ds.Tables["REQ"].Columns["RQ_REQ_ID"], ds.Tables["REQ"].Columns["RQ_FATHER_ID"]);
var dataSet = ds;
_rootNodes = dataSet.Tables["REQ"].DefaultView;
_rootNodes.RowFilter = "RQ_FATHER_ID = -1";
this.DataContext = this;
}
和
private DataView _rootNodes;
和
public DataView RootNodes
{
get { return _rootNodes; }
}
和我的 XAML:
<TreeView x:Name="PM_TreeView" ItemsSource="{Binding RootNodes}" HorizontalAlignment="Left" Height="445" Margin="44.847,68.285,0,0" VerticalAlignment="Top" Width="320" Foreground="{x:Null}" BorderBrush="{x:Null}" Background="#FFBBB6B6" FontFamily="Segoe UI" FontSize="13.333">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding rsParentChild}">
<TextBlock Text="{Binding NodeDescription}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
我的数据表是:
RQ_REQ_ID RQ_FATHER_ID RQ_REQ_NAME
0 -1 REQ
1 0 QC11
但我在树视图上一无所获:)
提前10倍。