У меня проблема, когда я пытаюсь отобразить только две колонки информации из моей базы данных, а остальные должны быть только пустыми TextInputs. На данный момент программа выглядит так, как показано на картинках ниже. Я пытаюсь получить тот же результат, что и на рисунке, но сейчас пустые поля сделаны с использованием «пустых» данных.
main.py
def get_players_koti(self, joukkue_nimi):
connection = sqlite3.connect("poytakirja.db")
cursor = connection.cursor()
if not joukkue_nimi == '':
cursor.execute("""SELECT joukkue_id from joukkueet WHERE nimi = ?""", (joukkue_nimi,))
joukkue_id = cursor.fetchone()[0]
print(joukkue_id)
cursor.execute("""SELECT pelinumero, nimi FROM pelaajat WHERE joukkue_id = ? ORDER BY pelinumero ASC""", (joukkue_id,))
rows = cursor.fetchall()
rows_kopio = rows
listaus_settings = []
for x in rows_kopio:
listaus_settings.append(list(x))
for y in listaus_settings:
for _ in range(12):
y.append('')
print("koti"+str(rows))
data = []
low = 0
high = self.total_col_headings - 1
# Using database column range for populating the TextInput widgets with values from the row clicked/pressed.
self.data_items_koti = []
for row in listaus_settings:
for col in row:
data.append([col, row[0], [low, high]])
low += self.total_col_headings
high += self.total_col_headings
# create data_items
self.data_items_koti = [{'text': str(x[0]), 'Index': str(x[1])} for x in data]
page.kv
<PoytakirjaScreen>:
name: "Poytakirja"
on_enter:
root.get_jengit()
root.get_players_koti(self.kotinippu1)
root.get_players_vieras(self.vierasnippu1)
BoxLayout:
orientation: 'vertical'
spacing: 10
GridLayout:
padding: [100,0,200,0]
size_hint: 1, None
size_hint_y: None
height: 50
cols: 6
Label:
text: "Sarja:"
size_hint_x: 0.1
TextInput:
id: sarja
size_hint: (.35, None)
height: 30
multiline: False
write_tab: False
Label:
text: "Ott.nr:"
size_hint_x: 0.1
TextInput:
id: ottnro
size_hint: (.1, None)
height: 30
multiline: False
write_tab: False
Label:
text: "Alkoi:"
size_hint_x: 0.1
TextInput:
id: alkuaika
size_hint: (.1, None)
height: 30
multiline: False
write_tab: False
Label:
text: "Paikka ja pvm"
size_hint_x: 0.1
TextInput:
id: paikkapvm
size_hint: (.30, None)
height: 30
multiline: False
write_tab: False
Label:
text: "Yleiso:"
size_hint_x: 0.1
TextInput:
id: yleiso
size_hint: (.1, None)
height: 30
multiline: False
write_tab: False
Label:
text: "Paattyi:"
size_hint_x: 0.1
TextInput:
id: paattymisaika
size_hint: (.1, None)
height: 30
multiline: False
write_tab: False
GridLayout:
size_hint: 1, None
size_hint_y: None
height: 50
cols: 1
Label:
text: "Vieras"
GridLayout:
size_hint: 1, None
size_hint_y: None
height: 20
cols: 14
Label:
text: "Pelaajanumero"
Label:
text: "Nimi"
Label:
text: "Maali"
Label:
text: "Maalintekija"
Label:
text: "Syottaja 1"
Label:
text: "Syottaja 2"
Label:
text: "Pelaajanumero"
Label:
text: "Nimi"
Label:
text: "Maali"
Label:
text: "Maalintekija"
Label:
text: "Syottaja 1"
Label:
text: "Syottaja 2"
Label:
text: "Syottaja 1"
Label:
text: "Syottaja 2"
GridLayout:
cols: 1
RecycleView:
viewclass: 'TextInput'
data: root.data_items_vieras
RecycleGridLayout:
cols: 14
default_size: None, dp(26)
default_size_hint: 0.1, None
size_hint_y: None
height: self.minimum_height
multiselect: True
touch_multiselect: True
GridLayout:
size_hint: 1, None
size_hint_y: None
height: 50
cols: 1
Label:
text: "Koti"
GridLayout:
size_hint: 1, None
size_hint_y: None
height: 20
cols: 6
Label:
text: "Pelaajanumero"
Label:
text: "Nimi"
Label:
text: "Maali"
Label:
text: "Maalintekija"
Label:
text: "Syottaja 1"
Label:
text: "Syottaja 2"
GridLayout:
cols: 1
RecycleView:
viewclass: 'TextInput'
data: root.data_items_koti
RecycleGridLayout:
cols: 14
default_size: None, dp(26)
default_size_hint: 0.1, None
size_hint_y: None
height: self.minimum_height
multiselect: True
touch_multiselect: True
Возможно ли добавить эти пустые TextInputs без каких-либо данных в RecycleView, или мне нужно использовать какой-то другой метод? По сути, я просто пытаюсь получить информацию о номере и имени из SQLite и отобразить подключенный номер и имя в отдельной строке, а после этого есть пустые поля, которые вы можете заполнить самостоятельно. И возможно ли на самом деле получить информацию, как если бы это был обычный TextInput, чтобы я мог сделать запрос, в котором я добавил информацию, размещенную в полях, в базу данных?
Пример
Пример 2