我有一个Flutter应用程序,它从SQLite数据库获取数据,该数据库有一个包含大量列的表,所以我编写了一个函数,将这些列名放入列表中。
因此,columnsList
包含我的数据库表中的列的列表。
如何使用columnsList在for循环中同时显示列名和列的值?
伪代码
List<String> columnsList = [];
columnsList = ['RecordId', 'FirstName', 'MiddleName', 'LastName', 'Suffix', 'StreetNumber', 'StreetName'];
fetchRecord(1); // Inside initState() - returns values shown in example output
for (var i in columnsList) ...[
Text("$i: <<<VALUE OF i>>>"), // Here's where I need help
],
获取记录
FetchRecord看起来像这样,有一个巨大的变量列表,我想用这个列表替换它。
//--- Fetch Record ---
bool isLoading = true;
List<Map<String, dynamic>> myRecord = [];
void fetchRecord(int recordId) async {
final data = await SQLiteMethods.getRecord(recordId);
setState(() {
myRecord = data;
firstName = myRecord[0]["FirstName"].toString() ?? '';
middleName = myRecord[0]["MiddleName"].toString() ?? '';
lastName = myRecord[0]["LastName"].toString() ?? '';
suffix = myRecord[0]["Suffix"].toString() ?? '';
streetNumber = myRecord[0]["StreetNumber"].toString() ?? '';
streetName = myRecord[0]["StreetName"].toString() ?? '';
isLoading = false;
});
}
示例输出
RecordId: 1
FirstName: Bob
MiddleName: E
LastName: Jones
Suffix: Mr
StreetNumber: 123
StreetName: Main St
谢谢你的帮忙!
2条答案
按热度按时间mdfafbf11#
我尝试将
SQLiteMethods.getRecord
中的项目显示为Widget
中的recordId
。希望这能帮上忙。
如果要从
SQLiteMethods.getRecord
获取Map
,则应执行两个更改,List<Map<String, dynamic>> myRecord = [];
到Map<String, dynamic> myRecord = {};
。1.删除较高级别
Column
,较低级别应为for (final key in columnsList) Text('$key: ${myRecord[key]}')
ldxq2e6h2#
使用此: