private BindingSource LoadGridTable(string pTableName) { try { // Obtenemos la configuracion del origen SettingsModel model = SettingsManager.GetXml(); if (model == null) return null; // Obtenemos la configuracion del destino SettingsModel modelDest = SettingsManager.GetXml(true); if (modelDest == null) return null; // Inicializamos el manager de origen DatabaseManage manager = new DatabaseManage(model); // Inicializamos el manager de destino DatabaseManage managerDest = new DatabaseManage(modelDest); List<ColumnData> listColumns = new List<ColumnData>(); // Obtenemos las columnas de la tabla de origen IEnumerable<ColumnData> columns = manager.GetColumnsTypesInfoForTable(pTableName); foreach (ColumnData column in columns) { // Buscamos la columna en la base de datos de destino, // si no existe, no la guardaremos if (!managerDest.GetColumnWithNameForTable(pTableName, column.ColumnName)) continue; // Agregamos la columna al listado listColumns.Add(column); } // Enviamos la tabla, y la lista de columnas validas, para que nos genere las querys List<FieldResult> listFields = Migrator.GenerateInserts(pTableName, listColumns, manager, managerDest, progressBarResult); // Asignamos los datos al grid var bindingList = new BindingList<FieldResult>(listFields); var source = new BindingSource(bindingList, null); return source; } catch (Exception ex) { DisplayMessage(ex.Message); } return null; }