• Rufat

    Thank you!

    posted in Pythonista read more
  • Rufat

    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')

    posted in Pythonista read more
  • Rufat

    Thank you @mikael, this example a little bit different. Is it possible to put some labels in the row of tableview and then get reference that label1 is the name from database, label 2 surname as example.

    posted in Pythonista read more
  • Rufat

    Thank you so much, I got it. But how it works if I have multiple columns?

    posted in Pythonista read more
  • Rufat

    I did it with custom tableview, but how can I did the same with existing one in ui form?

    posted in Pythonista read more
  • Rufat

    Hi, I’m new to Pythonista, and I’m struggling with binding SQLite data to custom Tableview and then in UI form. Here is my code. What I’m doing wrong?

              import ui
              import sqlite3 as dB
           #tv = ui.TableView()
           conn = db.connect('pythonsqlite.db')
           conn.row_factory = lambda cursor, row: row[0]
           c = conn.cursor()
           ids = c.execute('SELECT name FROM projects').fetchall()
           print(len(ids))
    
           #tv.data_source = ui.ListDataSource(ids)
           #tv.present('fullscreen')
    
    
            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
        cell = ui.TableViewCell()
        data_source = ui.ListDataSource(ids)
        cell.data_source = cell.delegate = data_source
        print(ids)
        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_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.
        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
                 t=ui.TableView()
                 t.frame=(0,0,200,480)
                 t.data_source=MyTableViewDataSource()
                 t.present('sheet')
    
                 #ui.load_view('MyForm').present('sheet')

    posted in Pythonista read more

Internal error.

Oops! Looks like something went wrong!