#flutter #dart #datatable
#flutter #dart #datatable
Вопрос:
У меня есть приложение flutter, и у меня есть Datatable в нем,
Я заставляю пользователя выбирать какой-либо продукт и помещать эти продукты в эту таблицу данных,,
это отлично работает!
но если пользователь добавляет какое-либо примечание к одному продукту, могу ли я поместить это примечание в одну строку под продуктом и заполнить таблицу?
базовая таблица здесь :
https://i.stack.imgur.com/1hUcS.jpg
это мой код :
Widget DATATABLE() {
return DataTable(
columns: [
DataColumn(label: FittedBox(child: Text(arabic('Product')))),
DataColumn(label: FittedBox(child: Text(arabic('Price')))),
DataColumn(label: FittedBox(child: Text(arabic('Quantity')))),
DataColumn(label: FittedBox(child: Text(arabic('Total')))),
],
rows: [
DataRow(cells: [
DataCell( FittedBox(child: Text('{element.name}'))), //product name
DataCell(FittedBox(child: Text('{element.unitPrice}'))), // product price
DataCell(FittedBox(child: Text('{element.quantity}'))), // product quantity
DataCell(FittedBox(child: Text('{element.unitPrice * element.quantity}'))),
]) ,
DataRow(cells: [
DataCell( FittedBox(child: Text('{element.name}'))), //product name
DataCell(FittedBox(child: Text('{element.unitPrice}'))), // product price
DataCell(FittedBox(child: Text('{element.quantity}'))), // product quantity
DataCell(FittedBox(child: Text('{element.unitPrice * element.quantity}'))),
]) ,
DataRow(cells: [
DataCell( FittedBox(child: Text('{element.name}'))), //product name
DataCell(FittedBox(child: Text('{element.unitPrice}'))), // product price
DataCell(FittedBox(child: Text('{element.quantity}'))), // product quantity
DataCell(FittedBox(child: Text('{element.unitPrice * element.quantity}'))),
])
],
sortColumnIndex: 0,
sortAscending: true,
);
}
как я могу добавить заметку под продуктом, например :
Ответ №1:
Widget DATATABLE() {
return DataTable(
columns: [
DataColumn(label: FittedBox(child: Text(arabic('Product')))),
DataColumn(label: FittedBox(child: Text(arabic('Price')))),
DataColumn(label: FittedBox(child: Text(arabic('Quantity')))),
DataColumn(label: FittedBox(child: Text(arabic('Total')))),
],
rows: [
DataRow(cells: [
DataCell( Column (
children: [
FittedBox(child: Text('{element.name}')),
FittedBox(child: Text('Note --------------------------------------')),
],
)), //product name
DataCell(FittedBox(child: Text('{element.unitPrice}'))), // product price
DataCell(FittedBox(child: Text('{element.quantity}'))), // product quantity
DataCell(FittedBox(child: Text('{element.unitPrice * element.quantity}'))),
] ) ,
DataRow(cells: [
DataCell( FittedBox(child: Text('{element.name}'))), //product name
DataCell(FittedBox(child: Text('{element.unitPrice}'))), // product price
DataCell(FittedBox(child: Text('{element.quantity}'))), // product quantity
DataCell(FittedBox(child: Text('{element.unitPrice * element.quantity}'))),
]) ,
DataRow(cells: [
DataCell( FittedBox(child: Text('{element.name}'))), //product name
DataCell(FittedBox(child: Text('{element.unitPrice}'))), // product price
DataCell(FittedBox(child: Text('{element.quantity}'))), // product quantity
DataCell(FittedBox(child: Text('{element.unitPrice * element.quantity}'))),
])
],
sortColumnIndex: 0,
sortAscending: true,
);}
Сделайте необходимые выравнивания по тексту.
Комментарии:
1. это не работает, потому что «‘Примечание —————————————‘» помещенный в первую ячейку в ряду, янужно выделить всю строку в одной ячейке и поместить в нее заметку,
2. Если вы хотите, чтобы это было так, лучше использовать виджет таблицы, а не виджет с данными. Вы можете изменять ячейки так, как хотите..