首页 > 解决方案 > 从表格中获取单元格值 - 颤动

问题描述

我从导入的 CSV 文件创建了一个表,我已将此表设置为隐藏,因为我不希望用户实际看到该表。

我还创建了一个自定义小部件,可以在我的应用程序中多次重复使用,它只是一个显示一些文本的容器。这是表格的代码:

import 'package:flutter/material.dart';
import 'package:csv/csv.dart';
import 'package:flutter/services.dart' show rootBundle;

class RouteNameTable extends StatefulWidget {
  const RouteNameTable({Key key}) : super(key: key);

  @override
  _RouteNameTableState createState() => _RouteNameTableState();
}

class _RouteNameTableState extends State<RouteNameTable> {
  List<List<dynamic>> data = [];

  void loadAsset() async {
    final myData = await rootBundle.loadString("assets/routes.csv");
    List<List<dynamic>> csvTable = const CsvToListConverter().convert(myData);
    data = csvTable;
    setState(() {});
  }

  @override
  void initState() {
    super.initState();
    loadAsset();
  }

  @override
  Widget build(BuildContext context) {
    return Visibility(
        visible: false,
        child: SingleChildScrollView(
          child: Table(
            border: TableBorder.all(width: 1.0),
            children: data.map((item) {
              return TableRow(
                  children: item.map((row) {
                return Container(
                  color: Colors.blueGrey,
                  child: Padding(
                    padding: const EdgeInsets.all(1.0),
                    child: Text(
                      row.toString(),
                      style: const TextStyle(fontSize: 20.0),
                    ),
                  ),
                );
              }).toList());
            }).toList(),
          ),
        ),
    );
  }
}

我创建的自定义小部件只是一个显示数字、名称和颜色的容器。插入小部件时,我使用以下代码

const RouteTemplate(
              routeNumber: '33',
              routeName: 'Corstorphine - Caversham - City - Wakari',
              routeColor: Color(0xFFF067A6),
            ),

这可以正常工作。但是,我想做的是用我创建的表中的数据替换我输入的文本(例如“33”)。它仍然会说 33,但不是我输入它,而是检索第二行中的第一列为routeNumber,第二行中的第二列为routeName,依此类推。我希望这样,因为 CSV 文件可能会更改,而不必添加/删除/更改路由号,一旦添加了新的 CSV 文件,它将自动执行。

谢谢

标签: fluttercsvdartdatatable

解决方案


推荐阅读