Ejemplo n.º 1
0
        internal void _sort <T>(getDessertField <T> getField, bool isAscending) where T : IComparable
        {
            this._desserts.Sort((Dessert a, Dessert b) =>
            {
                if (!isAscending)
                {
                    Dessert c = a;
                    a         = b;
                    b         = c;
                }

                T aValue = getField(a);
                T bValue = getField(b);
                return(aValue.CompareTo(bValue));
            });

            this.notifyListeners();
        }
Ejemplo n.º 2
0
        public override DataRow getRow(int index)
        {
            D.assert(index >= 0);
            if (index >= this._desserts.Count)
            {
                return(null);
            }

            Dessert dessert = this._desserts[index];

            return(DataRow.byIndex(
                       index: index,
                       selected: dessert.selected,
                       onSelectChanged: (bool value) =>
            {
                if (dessert.selected != value)
                {
                    this._selectedCount += value ? 1 : -1;
                    D.assert(this._selectedCount >= 0);
                    dessert.selected = value;
                    this.notifyListeners();
                }
            },
                       cells: new List <DataCell>
            {
                new DataCell(new Text(dessert.name)),
                new DataCell(new Text($"{dessert.calories}")),
                new DataCell(new Text($"{dessert.fat:F1}")),
                new DataCell(new Text($"{dessert.carbs}")),
                new DataCell(new Text($"{dessert.protein:F1}")),
                new DataCell(new Text($"{dessert.sodium}")),
                new DataCell(new Text($"{dessert.calcium}%")),
                new DataCell(new Text($"{dessert.iron}%")),
            }
                       ));
        }