private void UpdateData(Document doc, string newVarName) { GridData gridDataTmp = new GridData(doc); doc.BeanDefine.BuildGridColumns(gridDataTmp, 0, new ColumnTag(ColumnTag.ETag.Normal), -1); HashSet <Bean.VarData> varDatas = new HashSet <Bean.VarData>(); var param = new Bean.UpdateParam() { UpdateType = Bean.EUpdate.CallAction, UpdateAction = (GridData grid, int col, ColumnTag.VarInfo varInfo, Bean.VarData varData) => { if (varInfo.Define == this) { varDatas.Add(varData); } }, }; foreach (var bean in doc.Beans) { int insertIndex = gridDataTmp.RowCount; gridDataTmp.InsertRow(insertIndex); int colIndex = 0; if (bean.Update(gridDataTmp, gridDataTmp.GetRow(insertIndex), ref colIndex, 0, param)) { break; } } foreach (var varData in varDatas) { varData.Parent.RenameVar(varData.Name, newVarName); } // 打开状态的文档需要重新装载。 if (null != doc.GridData && null != doc.GridData.View) { FormMain.Instance.ReloadGridsAfterFormDefineClosed.Add(doc.GridData.View); } }
public void BuildGridData() { FormMain.Instance.FormError.RemoveErrorByGrid(GridData); GridData = new GridData(this); BeanDefine.BuildGridColumns(GridData, 0, new ColumnTag(ColumnTag.ETag.Normal), -1); var param = new Bean.UpdateParam() { UpdateType = Bean.EUpdate.Grid }; foreach (var bean in _Beans) { int insertIndex = GridData.RowCount; GridData.InsertRow(insertIndex); int colIndex = 0; if (bean.Update(GridData, GridData.GetRow(insertIndex), ref colIndex, 0, param)) { break; } } for (int i = 0; i < GridData.ColumnCount; ++i) { ColumnTag tag = GridData.GetColumn(i).ColumnTag; switch (tag.Tag) { case ColumnTag.ETag.AddVariable: case ColumnTag.ETag.ListStart: case ColumnTag.ETag.ListEnd: continue; } tag.BuildUniqueIndex(GridData, i); } }