private void CargarDataEco() { StringBuilder sb = new StringBuilder(); #region Obtenión de dataset con empresas, proyectos y clientes y creación de HASTABLES oProyectoSubNodo = null; oClaseEconomica = null; oProveedor = null; DataSet ds = AddDATAECO.ValidarTabla(); htProyectoSubNodo = new Hashtable(); foreach (DataRow dsProyectoSubNodo in ds.Tables[0].Rows)//Recorro tabla de proyectos-subnodos { htProyectoSubNodo.Add(dsProyectoSubNodo["t301_idproyecto"].ToString() + @"/" + dsProyectoSubNodo["t303_idnodo"].ToString(), new ProyectoSubNodo((int)dsProyectoSubNodo["t301_idproyecto"], (int)dsProyectoSubNodo["t305_idproyectosubnodo"], (int)dsProyectoSubNodo["t303_idnodo"], dsProyectoSubNodo["t305_cualidad"].ToString()) ); } htClaseEconomica = new Hashtable(); foreach (DataRow dsClaseEconomica in ds.Tables[1].Rows)//Recorro tabla de Clases económicas { htClaseEconomica.Add(dsClaseEconomica["t329_idclaseeco"].ToString(), new ClaseEconomica((int)dsClaseEconomica["t329_idclaseeco"], dsClaseEconomica["t329_necesidad"].ToString(), bool.Parse(dsClaseEconomica["t329_visiblecarruselC"].ToString()), bool.Parse(dsClaseEconomica["t329_visiblecarruselJ"].ToString()), bool.Parse(dsClaseEconomica["t329_visiblecarruselP"].ToString())) ); } htProveedor = new Hashtable(); foreach (DataRow dsProveedor in ds.Tables[2].Rows) //Recorro tabla de proveedores { htProveedor.Add(dsProveedor["t315_codigoexterno"].ToString(), new Proveedor((int)dsProveedor["t315_idproveedor"], dsProveedor["t315_codigoexterno"].ToString()) ); } ds.Dispose(); #endregion // Lectura, validación y conteo, de las filas de la tabla SqlDataReader dr = AddDATAECO.Catalogo(); while (dr.Read()) { iCont++; if (validarCampos(dr)) { iNumOk++; } } dr.Close(); dr.Dispose(); sb.Append("</table>"); this.divB.InnerHtml = cabErrores() + sbE + "</table>"; cldTotalLin.InnerText = AddDATAECO.numFilas(null).ToString("##,###,##0"); cldLinOK.InnerText = iNumOk.ToString("##,###,##0"); cldLinErr.InnerText = (iCont - iNumOk).ToString("##,###,##0"); }