private void ADD_ROW(AFCoreEx.AFIDENTID self, string strRecordName, AFMsg.DataTableAddRow xAddStruct) { AFIObject go = AFCKernel.Instance.GetObject(self); AFIRecordManager xRecordManager = go.GetRecordManager(); Hashtable recordVecDesc = new Hashtable(); Hashtable recordVecData = new Hashtable(); AFCoreEx.AFCDataList RowList = new AFCDataList(); AFCoreEx.AFIDataList varListDesc = new AFCDataList(); for (int k = 0; k < xAddStruct.CellList.Count; ++k) { AFMsg.PBCellData addStruct = (AFMsg.PBCellData)xAddStruct.CellList[k]; if (addStruct.Col >= 0) { int nRow = -1; int nCol = -1; AFCoreEx.AFIDataList.Var_Data xRowData = PBRecordToData(addStruct, ref nRow, ref nCol); RowList.AddDataObject(ref xRowData); varListDesc.AddDataObject(ref xRowData); } } AFIRecord xRecord = xRecordManager.GetRecord(strRecordName); if (null == xRecord) { xRecord = xRecordManager.AddRecord(strRecordName, 512, varListDesc); } xRecord.AddRow(xAddStruct.Row, RowList); }