private void CheckedNode(TreeNode treeNode, DataTable tb) { if (!treeNode.Checked) { List <DataRow> removeList = new List <DataRow>(); foreach (DataRow dr in tb.Rows) { if (dr[0].ToString() == treeNode.Text) { removeList.Add(dr); } } foreach (DataRow dr in removeList) { tb.Rows.Remove(dr); } LayerModel mm = new LayerModel(); foreach (LayerModel item in model.allLines) { if (item.Name == treeNode.Text) { mm = item; } } model.allLines.Remove(mm); model.selectedLayerList.Remove(treeNode.Text); } else { ModelBaseMethod <ModelBase> modelMe = new ModelBaseMethod <ModelBase>(); LayerModel lyModel = modelMe.GetAllLayerGemo(model, treeNode.Text); if (!model.selectedLayerList.Contains(treeNode.Text)) { model.selectedLayerList.Add(treeNode.Text); } GetLineDataRowInfo(lyModel.pointFs, tb, treeNode.Text); if (this.model.allLines == null) { this.model.allLines = new List <LayerModel>(); } this.model.allLines.Add(lyModel); } this.dataGridView1.DataSource = tb; }