namespace DataGridView1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            //添加测试行 
            dataGridView1.Columns.Add(" ", " ");
            dataGridView1.Columns.Add("A1","A1");
            dataGridView1.Columns.Add("A2","A2");
            dataGridView1.Columns[0].Width = 20;
            dataGridView1.Rows.Add("+",1, 0);
            dataGridView1.Rows.Add(" ", 10, 1);
            dataGridView1.Rows.Add(" ", 11, 1);
            dataGridView1.Rows.Add(" ", 12, 1);

            dataGridView1.Rows.Add("+", 2, 0);
            dataGridView1.Rows.Add(" ", 20, 2);

            dataGridView1.Rows.Add("+", 3, 0);
            dataGridView1.Rows.Add(" ", 20, 3);
            dataGridView1.Rows.Add(" ", 21, 3);
            dataGridView1.Rows.Add(" ", 21, 3);

            dataGridView1.AllowUserToAddRows = false;
            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (dataGridView1.Rows[i].Cells[0].Value.ToString().Equals(" "))
                {
                   dataGridView1.Rows[i].Visible = false;
                }
            }
            }

        private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int id = (int)dataGridView1.Rows[e.RowIndex].Cells[1].Value;
            int parent = (int)dataGridView1.Rows[e.RowIndex].Cells[2].Value;

            if (e.RowIndex < dataGridView1.Rows.Count)
            {
                if (dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString().Equals("+"))
                {
                    dataGridView1.Rows[e.RowIndex].Cells[0].Value = "-";
                    for (int i = 0; i < dataGridView1.Rows.Count ; i++)
                    {
                        if (dataGridView1.Rows[i].Cells[2].Value.ToString().Equals(dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString()))
                        {
                            dataGridView1.Rows[i].Visible = true;
                        }
                    }

                }
                else if (dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString().Equals("-"))
                {
                    dataGridView1.Rows[e.RowIndex].Cells[0].Value = "+";
                    for (int i = 0; i < dataGridView1.Rows.Count; i++)
                    {
                        if (dataGridView1.Rows[i].Cells[2].Value.ToString().Equals(dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString()))
                        {
                            dataGridView1.Rows[i].Visible = false;
                        }
                    }
                }
                dataGridView1.EndEdit();
            }
        }
    }
}

posted on 2009-02-26 10:49  wn323225  阅读(1324)  评论(0)    收藏  举报