builder.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # Copyright 2021-2024 Avaiga Private Limited
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
  4. # the License. You may obtain a copy of the License at
  5. #
  6. # http://www.apache.org/licenses/LICENSE-2.0
  7. #
  8. # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
  9. # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  10. # specific language governing permissions and limitations under the License.
  11. # -----------------------------------------------------------------------------------------
  12. # To execute this script, make sure that the taipy-gui package is installed in your
  13. # Python environment and run:
  14. # python <script>
  15. # -----------------------------------------------------------------------------------------
  16. import taipy.gui.builder as tgb
  17. from taipy.gui import Gui
  18. x_range = range(-10, 11, 4)
  19. data = {"x": x_range, "y": [x * x for x in x_range]}
  20. def even_odd_style(_, row):
  21. if row % 2:
  22. # Odd rows are blue
  23. return "blue-row"
  24. else:
  25. # Even rows are red
  26. return "red-row"
  27. with tgb.Page(
  28. style={
  29. ".blue-row>td": {"color": "white", "background-color": "blue"},
  30. ".red-row>td": {"color": "yellow", "background-color": "red"},
  31. }
  32. ) as page:
  33. tgb.table("{data}", style=even_odd_style, show_all=True)
  34. # Lambda version, getting rid of even_odd_style():
  35. # tgb.table("{data}", style=lambda _, row: "blue-row" if row % 2 else "red-row", show_all=True)
  36. if __name__ == "__main__":
  37. Gui(page).run(title="Table - Styling rows")