我想要一种非常简单的方法来动态填充我的 DataTable 并能够在添加新数据时刷新它,以便它立即更新和重建。使用 Hive 盒并尽可能以最简单的方式。
我正在使用 Hive 加密框,但这并不重要
我提出这个问题并在下面给出答案。我花了很多时间来发现这一点,因为使用 Hive box 和SIMPLE找不到其他类似的东西。我真的希望这对其他人有所帮助,作为一名绿色开发人员,我在 SO 上得到了很多帮助。我很自豪我可以回报恩惠。
我有一个带有适配器的课程并已注册到 Hive
import 'package:hive/hive.dart';
part 'person.g.dart';
@HiveType(typeId: 0)
class Person {
@HiveField(0)
final String firstName;
@HiveField(1)
final String lastName;
@HiveField(2)
final int age;
@HiveField(3)
final String Status;
Person(
this.firstName,
this.lastName,
this.age,
this.status,
);
@override
String toString() {
return '{${this.firstName}, ${this.lastName}, ${this.age}, ${this.status}}';
}
}
按下按钮保存到蜂巢
onPressed: () {
final newPersonData = Person(
_firstName,
_lastName,
int.parse(_age),
_status,
);
addPerson(newPersonData);
var box = Hive.box(personTable);
for (var index in box.values) {
print(index);
}
},
数据表构建方法
_buildDataTable() {
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: DataTable(
columns: const <DataColumn>[
DataColumn(
label: Text('First'),
),
DataColumn(
label: Text('Last'),
),
DataColumn(
label: Text('Age'),
),
DataColumn(
label: Text('Status'),
),
],
rows: List<DataRow>
// How to dynamically load cells in a ***SIMPLE*** manner?
);
},
),
),
);
}