Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Tableview reload
-
Thank you so much, I’l try to figure it out. Just can’t find any live example in the web. But how it works for deleting? And same thing (System) doesn’t work for adding the rows.
-
I did it, thank you so much!
-
You should post your solution (or a link to gist) back here to help others that might have similar issues.
-
Here is how it works for me.
import ui import sqlite3 as db import dialogs 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() class MyTableViewDataSource (object): def __init__(self): self.items = ids self.items1 = ids1 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(self.items) def tableview_cell_for_row(self, tableview, section, row): # Create and return a cell for the given section/row cell = ui.TableViewCell('subtitle') cell.text_label.text = self.items[row] cell.detail_text_label.text = self.items1[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 ('Name') def tableview_can_delete(self, tableview, section, row): # Return True if the user should be able to delete the given row. return True def tableview_can_move(self, tableview, section, row): # Return True if a reordering control should be shown for the given row (in editing mode). return True def tableview_delete(self, tableview, section, row): # Called when the user confirms deletion of the given row. #my = ("Name=""'"+tableview.data_source.data[row]+"'") #print(my) print ('Delete row ' + tableview.data_source.items[row]) sqliteConnection = db.connect('pythonsqlite.db') cursor = sqliteConnection.cursor() print("Connected to SQLite") # Deleting single record now sql_delete_query = "DELETE from Names where Name=""'"+tableview.data_source.items[row]+"'" print(sql_delete_query) cursor.execute(sql_delete_query) sqliteConnection.commit() print("Record deleted successfully ") del tableview.data_source.items[row] del tableview.data_source.items1[row] cursor.close() tableview.reload() 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 def add(self, sender): item = dialogs.input_alert('Add your name') item1 = dialogs.input_alert('Add your surname') if not item == None: self.items.append(item) self.items1.append(item1) view['tableview1'].reload() sqliteConnection = db.connect('pythonsqlite.db') cursor = sqliteConnection.cursor() print("Connected to SQLite") # adding single record now sql_add_data = "INSERT INTO Names (Name, Surname) VALUES "+"("+"'"+item+"'"+", "+"'"+item1+"'"+")" cursor.execute(sql_add_data) sqliteConnection.commit() cursor.close() view = ui.load_view('MyForm') source = MyTableViewDataSource() view.right_button_items = [ui.ButtonItem(title='add', action=source.add)] view['tableview1'].data_source = source view.present('sheet')
-
But. Can you bring a dB from another place and drop it in Pythonista and how u do it
-
-
@cvp said:
import
For me the file is not accessible greyes out
https://imgur.com/KTy2w8o all my dB files are not selectables -
-
@soydepr other solution: you can share a .db file from the Files app to Pythonista and run the standard "import file" script
-
@cvp is original solution a bug ,
Thanks I confirm your other solution does work
-
-
This post is deleted!