Rufat
Jul 31, 2020 - 22:24
Hi, I’m trying to add detail text label, and can’t to create it on each row, I guess problem is in this row type = {0: ‘subtitle, i: ‘subtitle’} Can’t create loop for each row
import ui
import sqlite3 as db
conn = db.connect('pythonsqlite.db')
conn.row_factory = lambda cursor, row: row[0]
c = conn.cursor()
ids = c.execute('SELECT name FROM Names').fetchall()
ids1 = c.execute('SELECT surname FROM Names').fetchall()
me = ids1
for i in range (len(ids)):
print(i)
class MyTableViewDataSource (object):
def tableview_number_of_sections(self, tableview):
# Return the number of sections (defaults to 1)
return 1
def tableview_number_of_rows(self, tableview, section):
# Return the number of rows in the section
return len(ids)
def tableview_cell_for_row(self, tableview, section, row):
# Create and return a cell for the given section/row
type = {0: 'subtitle', i: 'subtitle'}[row]
self.data = ids
self.data1 = me
self.cells = [ui.TableViewCell(type)
for _ in range(len(self.data))]
cell = self.cells[row]
cell.text_label.text = self.data[row]
cell.detail_text_label.text = self.data1[row]
return cell
def tableview_title_for_header(self, tableview, section):
# Return a title for the given section.
# If this is not implemented, no section headers will be shown.
return ('Names')
def tableview_delete(self, tableview, section, row):
# Called when the user confirms deletion of the given row.
pass
def tableview_move_row(self, tableview, from_section, from_row, to_section, to_row):
# Called when the user moves a row with the reordering control (in editing mode).
pass
v = ui.load_view('MyForm')
v['tableview1'].background_color = 'yellow'
v['tableview1'].data_source=MyTableViewDataSource()
v.present('sheet')