Capitulo 25 del Módulo 7 Vistas públicas en Flutter

➜ Pantalla Lista de Empresas

Implementación de la pantalla Empresas para mostrar una lista | La pantalla empresa mostrará las empresas que pertenezcan a una determinada ruta que haya sido elegida por el usuario, básicamente un listview

Es aqui donde vamos a cargar una lista de empresas desde la base de datos Sqlite y mostrarlas en un widget ListView con información necesaria solo para poder elegir y continuar con el flujo de uso de la app.

Veamos el código Dart

import 'package:app/basededatos/DBmanager.dart';
import 'package:app/basededatos/Ruta.dart';
import 'package:app/pantallas/pantallaEmpresa.dart';
import 'package:flutter/material.dart';

var basededatos = new DBmanager();

class pantallaEmpresas extends StatefulWidget {
  Ruta ruta;
  pantallaEmpresas(this.ruta);
  @override
  _pantallaEmpresasState createState() => _pantallaEmpresasState(this.ruta);
}

class _pantallaEmpresasState extends State<pantallaEmpresas> {
  Ruta ruta;

  _pantallaEmpresasState(this.ruta);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("RUTA "+ruta.nombre),
      ),
      backgroundColor: Colors.amber,
      body: Container(
        child: FutureBuilder(
          future: basededatos.obtenerEmpresas("ruta_id=" + ruta.id.toString()),
          builder: (BuildContext c, AsyncSnapshot s) {
            if (s.hasData) {
              return ListView.builder(
                  itemCount: s.data == null ? 0 : s.data.length,
                  itemBuilder: (_c, _i) {
                    return GestureDetector(
                      onTap: () {
                        Navigator.of(context).push(MaterialPageRoute(
                            builder: (BuildContext) =>
                                pantallaEmpresa(s.data[_i])));
                      },
                      child: Card(
                        elevation: 10,
                        margin: EdgeInsets.all(10),
                        child: Row(
                          children: [
                            Image.network(
                              "http://..../appturismo/public/img/empresa/" +
                                  s.data[_i].urllogo,
                              width: 120,
                              height: 120,
                              fit: BoxFit.cover,
                            ),
                            Text(
                              s.data[_i].razonsocial,
                              style: TextStyle(
                                fontSize: 20,
                                fontWeight: FontWeight.w700,
                                color: Colors.green,
                              ),
                            )
                          ],
                        ),
                      ),
                    );
                  });
            } else {
              return Center(
                child: Text("NO EXISTEN EMPRESAS"),
              );
            }
          },
        ),
      ),
    );
  }
}

 


1492 visitas

Capítulo 26 – Pantalla Empresa »

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

¡Qué aprenderás?

tooltip bs-tooltip-top bs-tooltip-end bs-tooltip-bottom bs-tooltip-start show fade tooltip-inner

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú