0

我试图根据treeviewcontrol中的节点选择更新datagridview。例如,如果我在treeviewcontrol中选择值为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 { }
    }
4

1 回答 1

0

你的DataSourse是什么GridView

填充网格dataGridView1.Rows.Add不是您的任务的好选择。更好的方法是创建一个DataTable,用需要的数据填充它,将其设置为DataSourcea DataGridView,然后将RowFilter 用于DataTable.DefaultView

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

于 2013-07-04T14:15:16.913 回答