So rendern Sie Tabellen in der Taipy -App dynamisch ausPython

Python-Programme
Anonymous
 So rendern Sie Tabellen in der Taipy -App dynamisch aus

Post by Anonymous »

Ich habe eine Taipy-Anwendung, in der ich bei der Auswahl eines Wertes aus der Dropdown-Komponente dynamisch Tabellen ausgewählt habe. Werte: PartnerName, RegionName, UserId, GroupName . Nach jeder Auswahl eines Wertes aus einem Dropdown wird der Wert entfernt und die Tabelle wird zusammen mit den anderen Tabellen, die bereits für zuvor ausgewählte Werte gerendert werden. Die Tabelle sollte Daten aus diesem aggregierten Datenrahmen haben. Wenn Sie versucht haben, Index < /p>
zu verwenden

Code: Select all

for i, _ in enumerate(state.tables_data):
with builder.part("card"):
builder.text(f"Filter applied: {state.filter_display_texts[i]}", class_name="h2")
builder.table(data=state.tables_data[i], page_size=10)
< /code>
heißt es immer, dass < /p>

> WARNING:root:
--- 1 warning(s) were found for page 'TaiPy_partials_0'  ---
- Warning 1: table.data property should be bound.
-------------------------------------------------------------

return attrgetter(name)(gui._get_data_scope())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'types.SimpleNamespace' object has no attribute ''
< /code>
< /blockquote>
und wenn ich versuche, nach Datenrahmen zu iterieren, heißt es: < /p>

--- 2 Warnung (S) wurden für Seite 'Taipy_Partials_0'--< /p>
    
 carring 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1: Tabelle 1 "gefunden. />  WARNUNG 2: Datenzubehör für Typ .  < /li>
< /ul>
< /Blockquote>
und ein Fehler < /p>

TracBack (letztes Call Last): Datei

Traceback (letztes Anruf />"taipy_apps\taipy-app\lib\Site-Packages\taipy\guiii.py ", Zeile 676,
in _Manage_Message
self.__Request_data_update(strieben />"taipy_apps\taipy-app\lib\Site-Packages\Taipy\guiii.py ", Zeile 1134,
in __request_data_update
newvalue = _getScopeAttr_drill (self, var_name)

/> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Attretter (Name) (GUI._Get_Data_Scope ())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ e) < /p>
< /blockquote>
Ich verwende:
Python v3.12.0
Taipy v4.0.3
Pandas v2.2.2 < /p>
My code so far:

from taipy.gui import Gui
import taipy.gui.builder as builder
import pandas as pd
from datetime import date

# Load data
data = pd.read_csv('my_data.csv')
data.fillna(0, inplace=True)

# Initialize variables
selected_partners = None
partners = data['partnerName'].unique().tolist()

starting = date(2025, 1, 1)
ending = date(2025, 5, 1)
dates = [starting, ending]

selected_filter = None
filters = [ 'partnerName', 'regionName', 'userId', 'groupName' ]

filter_display_texts = []
tables_data = []

def load_data(state):
print(state.selected_partners)
print(state.dates)
state.data = data[data['partnerName'].isin(state.selected_partners)] if state.selected_partners else data

def filter_category(state):
if not state.selected_filter:
return

print('Filtering data by:', state.selected_filter)
state.filter_display_texts.append(state.selected_filter)
value = state.data.groupby(state.selected_filter)[['depositAmount', 'withdrawalAmount', 'totalRevenue']].sum().reset_index()
state.tables_data.append(value)

with builder.Page() as table_data:
with builder.layout("1"):
for val in state.tables_data:
with builder.part("card"):
builder.table(data=val, class_name="h2")

tables_partial.update_content(state, table_data)
state.filters = [f for f in state.filters if f != state.selected_filter]

def reset_state(state):
pass

with builder.Page() as page:
builder.date_range(dates="{dates}", label_start="Start Date", label_end="End Date")
builder.selector(value="{selected_partners}", lov="{partners}", dropdown=True, multiple=True, filter=True, label="Select region (if none all will be displayed)")
builder.button(label="Submit", on_action=load_data)
builder.button(label="Reset", on_action=reset_state)
builder.html("br")

builder.selector(value='{selected_filter}', lov="{filters}", dropdown=True, label='Select filter', on_change=filter_category)
builder.part(partial="{tables_partial}")

gui = Gui(page=page)
tables_partial = gui.add_partial("")
gui.run(title="Analytics Dashboard", dark_mode=True, use_reloader=True, port=5001, debug=True)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post