public void agregarFila(Fila fila)
		{
			tabla.Add (fila);
			if(!inicializado)
			{
				this.inicializado = true;
				habilitado = new bool[fila.tamaño()];
				for (int x=0; x<habilitado.Length; x++)
				{
					habilitado[x] = true;
				}
			}
		}
 static public void agregarFila(List<int> fila_enteros)
 {
     
     if (!regla_coincidencia(fila_enteros))
     {
         Fila nueva_fila = new Fila();
         foreach(int i in fila_enteros)
         {
             string cadena = Convert.ToString(i);
             nueva_fila.agregar(new Dato(cadena,4));
         }
         tabla.agregarFila(nueva_fila);
     }
 }
        /***
         *      rescata los datos 
         ***/
        private bool data(string cadena)
        {
			String[] arry = cadena.Split(',');//Solo se separan por ',' y se eliminan las comillas 
            int tam = ejemplos.Count;
            int indice = 0;
            Fila fila = null;
            foreach (string i in arry)
            {
                if (_d == true)
                {
					if (fila == null) fila = new Fila ();
					TipoValor tipo = ejemplos [indice];
					string cadena1 = i.Trim().Replace (".", ",");//Se reemplazan los puntos por comas
					if (tipo.getTipoNum ())
					{
						if(String.Compare (i, "?", true) == 0) fila.agregar (new Dato(Dato.NUMEROENTERO));
						else fila.agregar (new Dato(Convert.ToInt32 (cadena1)));
					}
					else if (tipo.getTipoReal ())
					{
						if(String.Compare (i, "?", true) == 0) fila.agregar (new Dato(Dato.NUMERORACIONAL));
						else fila.agregar (new Dato(Convert.ToDouble (cadena1)));
					}
					else if (tipo.getTipoString ())
					{
						if(String.Compare (i, "?", true) == 0) fila.agregar (new Dato(Dato.TEXTO));
						else fila.agregar (new Dato(cadena1,Dato.TEXTO));
					}
					else if(tipo.getTipoAtri ())
					{
						if(String.Compare (i, "?", true) == 0) fila.agregar (new Dato(Dato.ATRIBUTO));
						else fila.agregar (new Dato(cadena1,Dato.ATRIBUTO));
					}
					indice++;
                }
                else if (String.Compare(i, DATOS, true) == 0)
                {
                	_d = true;
                }
            }
            if (fila != null)
            {
                tab.agregarFila(fila);
            }
            return _d;
        }