在树视图控件选择的数据网格视图中显示特定行

本文关键字:视图 显示 网格 数据 控件 选择 数据网 | 更新日期: 2023-09-27 18:21:05

我试图根据treeview控件中的节点选择来更新datagridview。例如,如果我在treeview控件中选择了值为13的节点,那么它应该显示id为13的所有datagridview行,并清除所有其他行。我已经开始编写代码,但我不知道从这里开始该怎么做。这是代码。

   private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
    {
        int outva;
        if (int.TryParse((e.Node.Text), out outva))
        {
            save=Convert.ToInt16(e.Node.Text);
            dataGridView1.Columns.Clear();
            int row = dataGridView1.Rows.Count;
            for (int i = 0; i < row - 1; i++)
            {
                if (save == Convert.ToInt16(dataGridView1[0, i].Value.ToString()))
                {
                    dataGridView1[0, i].Selected = true;
                }
            }
        }
        else { }
    }

在树视图控件选择的数据网格视图中显示特定行

GridView中的数据课程是什么?

使用dataGridView1.Rows.Add填充网格对于您的任务来说不是一个好的选择。更好的方法是创建一个DataTable,用所需的数据填充它,将它设置为DataGridViewDataSource,并对DataTable.DefaultView使用RowFilter。

为什么你要先做int.TryParse,然后做Convert.ToInt16,如果是Int16.MaxValue < idid < int.MaxValue,那么你会例外。使用此if语句if (Int16.TryParse((e.Node.Text), out save))