I want to delete a row in Repeating Panel and update list data
In case list data have two same item , i want to get index of them to serve for deleting
Code Sample:
rom ._anvil_designer import Form1Template
from anvil import *
import anvil.tables as tables
import anvil.tables.query as q
from anvil.tables import app_tables
from .TemplateT import TemplateT
class Form1(Form1Template):
def __init__(self, **properties):
# Set Form properties and Data Bindings.
self.init_components(**properties)
self.listt = [
{'name': 'toan', 'age': 21 },
{'name': 'toan', 'age': 22 },
{'name': 'toan', 'age': 21 }]
self.list_i = RepeatingPanel()
self.list_i.item_template = self.template
self.list_i.items = self.listt
self.bttn = Button(text='BUTTON')
self.bttn.set_event_handler('click', self.btn_check)
self.add_component(self.list_i)
self.add_component(self.bttn)
def template(self, item):
def change(**event_args):
print(event_args["sender"].text)
item['name'] = event_args["sender"].text
container = DataRowPanel(item=item)
fp = FlowPanel()
def delete(**event_args):
fp.remove_from_parent()
bt = Button(text='text')
tb = TextBox()
but = Button(text='Delete')
but.set_event_handler('click', delete)
tb.text = item['name']
tb.add_event_handler('change', change)
fp.add_component(bt)
fp.add_component(tb)
fp.add_component(but)
return fp
def btn_check(self, **event_args):
print(self.listt)
print('----')
print(self.list_i.items)
Clone link:
share a copy of your app