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();
}
}
}
}