vejo uma complexabilidade desnecessária para essa implementação, a tradução dessas fontes de dados para transforma-las em campos (colunas) a aplicação no momento de seu desenvolvimento teria que fazer inúmeras perguntas para entender o layout do arquivo, os registros podem não estar ordenados não permitindo quebras confiáveis, não seria possível reordenar por colunas, a estrutura de sql da grid ficaria inoperante onde a grid é praticamente construída.
É muito mais fácil criar uma tabela temporária, ler arquivo alimentar essa tabela e carregar a consulta em cima dessa tabela.
Não vejo praticidade alguma nessa sugestão.