用sqlite下拉-颤振

时间:2018-12-18 18:01:00

标签: list sqlite dart flutter dropdown

我有数据库sqlite数据,我想在下拉列表中显示我的数据,并更改表中各行的ID,因为将来我想创建另一个下拉列表以更改为第一个下拉列表的值,有人可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

在Flutter上使用SQLite

要从SQLite数据库收集数据,可以使用sqflite plugin(如果是iOS或Android设备,则独立使用)。您必须将依赖项添加到pubspec.yaml中。

dependencies:
  ...
  sqflite: any

要使用sqflite时,必须导入库。

import 'package:sqflite/sqflite.dart';

接下来,您必须打开与SQLite的连接,在这里我们创建一个表,以防您没有表

Database database = await openDatabase(path, version: 1,
    onCreate: (Database db, int version) async {
  await db.execute(
      'CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, value INTEGER, num REAL)');
});

您可以使用database.rawQuery插入或检索数据。

插入:

int primaryKeyInsertedRow = await database.rawQuery('INSERT INTO Test(name, value, num) VALUES("some name", 1234, 456.789)');

选择:

List<Map> list = await database.rawQuery('SELECT * FROM Test');

完成操作后,请记住要关闭数据库。

await database.close();

显示下拉菜单列表

要显示您首先检索的数据,您必须创建一个扩展StatefulWidget,重写createState()方法并设置自己的状态的类(在本示例中为SettingWidgetState)< / p>

@override
_SettingsWidgetState createState() => new _SettingsWidgetState();

第二,您应该为其定义一个状态,定义一个扩展State<NameOfYourWidget>的类。在该类中,您应该有一个DropdownMenuItem<String>列表和当前所选元素的字符串成员。

为了方便起见,在本示例中,我们将使用静态城市列表:

List _cities = [
  "Cluj-Napoca",
  "Bucuresti",
  "Timisoara",
  "Brasov",
  "Constanta"
];

接下来,我们覆盖initState(),将DropDownMenuItem的列表设置为列表和当前选定的列表元素。之后,我们应该致电super.initState()

此外,我们需要重写build()方法。目标是返回一个包含Container的{​​{1}},并且DropDownButton分配了项目列表(在类中定义),所选元素(也在类中定义)以及DropDownButton属性的事件处理程序(这里还插入了其他小部件,目的是使它看起来更好)

onChanged:

最后,我们定义了从列表中选择一个新项时将要调用的方法(在我们的示例中为@override Widget build(BuildContext context) { return new Container( color: Colors.white, child: new Center( child: new Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ new Text("Please choose your city: "), new Container( padding: new EdgeInsets.all(16.0), ), new DropdownButton( value: _currentCity, items: _dropDownMenuItems, onChanged: changedDropDownItem, ) ], )), ); } )。

changeDropDownItem(string selectedCity)

Link是下拉列表的答案。您也可以签出getting started with sqflite plugin