使用树视图数据填充组合框

时间:2014-08-15 00:05:03

标签: c# .net combobox treeview

Earlier Today我问了一个关于将树视图数据导入组合框的问题。

    public MainForm()
    {
        InitializeComponent();

            var list = TVProperties.Nodes
                   .Cast<TreeNode>()
                   .Select(x => x.Text)
                   .ToList();

        CmboExpenseType.DataSource = list;

        var Clist = TVProperties.Nodes[0].Nodes
       .Cast<TreeNode>()
       .Select(x => x.Text)
       .ToList();

        CmboExpenseDetail.DataSource = Clist;

    }

以上代码是我在启动程序时使用的代码。这有助于我获得Parent&amp;子节点但是当更改父节点时,子节点不会更改。

这是我现在拥有的两个组合框的图像,顶部显示父节点和子节点。

我试图在组合框的SelectedIndexChange中使用Fred的答案,但是它不起作用或者我不理解它的应用方式。

private void CmboExpenseType_SelectedIndexChanged(object sender, EventArgs e)
{
    var node = CmboExpenseType.SelectedItem as TreeNode;
    if(node == null)
        return;

    TVProperties.SelectedNode = node; 
}

这是我的树视图和一些子节点。我想知道我是否做了错误的代码,如果有任何帮助你可以给我。

1 个答案:

答案 0 :(得分:0)

您需要将注意力集中在树视图上:

private void CmboExpenseType_SelectedIndexChanged(object sender, EventArgs e)
{
    var node = CmboExpenseType.SelectedItem as TreeNode;
    if(node == null)
        return;

    TVProperties.Focus();
    TVProperties.SelectedNode = node; 
}