DataTable
を使用してFlutter Dartでテーブルを作成しました。この表は非常に大きく、垂直スクロールと水平スクロールの両方を使用しています。スクロールすると、列への参照が失われます。列が何であるかを知る必要があります。
例として。スクリーンショットでは、数字がわかりません20.0
および25.0
手段に、私が一番上にスクロールしない限り。
達成したいことのGIF例を追加しました。 (LibreOfficeを使用)。固定列名(最初の行)が必要です。
私のテーブルのコードサンプル:
return SingleChildScrollView(
scrollDirection: Axis.vertical,
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: DataTable(
columns: MyDataSet.getColumns(),
rows: widget._data.map<DataRow>((row) => DataRow(
onSelectChanged: (d) {
setState(() {
selectedRow = d ? row.hashCode : null;
});
},
selected: row.hashCode == selectedRow,
cells: MyDataSet.toDataCells(row)
)).toList()
)
),
);
コードサンプルがありません:
return columns.map<DataColumn>((name) => DataColumn(
label: Text(name, style: TextStyle(fontWeight: FontWeight.bold, color: Colors.black),)
)).toList();
ヘッダー名がセルのコンテンツと同じサイズであれば、現在のコードは適切に機能します。そうしないと、両方のサイズが異なります。
人々はそれを行うためのパッケージを作成しました。 :D
こんにちは、私はあなたのコードを取得し、テストに適応しています。dynamic list
の_fixedColCells
を作成しました
完璧に働いた
var disciplina =[];
for (var c = 0; c <= notas?.length -1; c++) {
disciplina.add(notas[c].disciplina.toString()) ;
}
..... fixedColCells
:disciplina、....
_fixedRowCells
は固定文字列リストなので、セルラベルを押すだけで同じ変数を使用しました
しかし、ステートメントによって_rowsCells
である<list <list <dynamic>>
は、ルーチンを例の固定変数に等しく設定しますが、エラーを出します。
タイプList<dynamic>
はタイプList<List<dynamic>>
のサブタイプではありません
印刷出力は基本的に固定変数_rowsCells
の例と同じです。以下を参照してください
[[8.5, 7.0, 6.5, 0.0, 5.5, 5.5, 5.5, 0.0, 0.0, 5.5, ATIVA],
[8.5, 6.0, 8.5, 0.0, 6.0, 6.0, 6.0, 0.0, 0.0, 6.0, ATIVA],
[7.5, 7.5, 6.0, 0.0, 5.5, 5.5, 5.5, 0.0, 0.0, 5.5, ATIVA],
[9.5, 9.0, 8.0, 0.0, 6.5, 6.5, 6.5, 0.0, 0.0, 6.5, ATIVA],
[7.5, 6.0, 8.0, 0.0, 5.5, 5.5, 5.5, 0.0, 0.0, 5.5, ATIVA],
[10.0, 7.5, 8.5, 0.0, 6.5, 6.5, 6.5, 0.0, 0.0, 6.5, ATIVA],
[9.0, 9.5, 8.0, 0.0, 6.5, 6.5, 6.5, 0.0, 0.0, 6.5, ATIVA],
[10.0, 10.0, 10.0, 0.0, 7.5, 7.5, 7.5, 0.0, 0.0, 7.5, ATIVA],
[10.0, 9.5, 9.5, 0.0, 7.5, 7.5, 7.5, 0.0, 0.0, 7.5, ATIVA],
[9.0, 7.0, 8.5, 0.0, 6.0, 6.5, 6.5, 0.0, 0.0, 6.0, ATIVA],
[6.0, 6.0, 6.5, 0.0, 4.5, 4.5, 4.5, 0.0, 0.0, 4.5, ATIVA],
[9.0, 7.5, 8.5, 0.0, 6.5, 6.5, 6.5, 0.0, 0.0, 6.5, ATIVA],
[5.0, 5.0, 7.5, 0.0, 4.5, 4.5, 4.5, 0.0, 0.0, 4.5, ATIVA],
[8.5, 9.0, 8.0, 0.0, 6.5, 6.5, 6.5, 0.0, 0.0, 6.5, ATIVA]]
可能なヘルプをありがとう。