[pyar] Borrar las filas de un TableWidgets

Roberto Matarrita rmatarria en gmail.com
Dom Sep 10 03:53:43 ART 2017


Buenas noches.
Hace días hice un mantenimiento de una tabla, donde se insertan , modifica
y borran datos.
La idea es que cada vez que se aplica alguno de los conceptos anteriores el
TableWidgets, se actualice, mostrando los cambios que se le hace a un
registro, ya sea que se modifique, incluya o excluya el registro.

Tengo una forma que hace todo esto y abajo en la misma forma hay un
tablewidgets, que muestra los datos de la tabla. Cuando hago un insert, o
bien borro o modifico los datos ese table debe actualizarse. El problema
que tengo es que al borrar las filas del table widgets, no se me borran
todas y cuando se me refresca el tablewidget, se muestras los datos nuevos
mas las filas que no se borraron.

He hecho muchos cambios pero siempre es lo mismo y desconozco el porque no
se borran todos los datos. Aquí pongo parte del código.

Roberto
Costa Rica.l

 def Consultar2(self):

      cadenaconexcion= "host='localhost' dbname='municipal' user='postgres'
password='Administra8080'"
      obj            = psycopg2.connect(cadenaconexcion)
      objCursor=obj.cursor()

      estado = self.db.open()
      if estado == False:
           QMessageBox.warning(self, "Error", self.db.lastError().text(),
QMessageBox.Discard)
      #Definicion de las columnas
      self.tableWidget.setColumnCount(4)
      self.tableWidget.setHorizontalHeaderLabels(['Id', 'Nombre ', 'Edad',
'Salario'])
      self.tableWidget.setColumnWidth(0,30)
      self.tableWidget.setColumnWidth(1,200)
      self.tableWidget.setColumnWidth(2,40)

      row=0
      objCursor=obj.cursor()
      objCursor.execute("SELECT identificacion,nombre,edad,salario FROM
usuarios order by identificacion asc")
      w = 0
      j=self.tableWidget.rowCount()

     #Proceso para borrar las filas
      while w < j:
          self.tableWidget.removeRow(w)
          w = w + 1

#Proceso para cargas el tablewidgets
      for i in objCursor:
          self.tableWidget.insertRow(row)
          self.identificacion = str(i[0])
          self.nombre = str(i[1])
          self.edad = str(i[2])
          self.salario = str(i[3])

          self.tableWidget.setItem(row, 0,
QTableWidgetItem(self.identificacion))
          self.tableWidget.setItem(row, 1, QTableWidgetItem(self.nombre))
          self.tableWidget.setItem(row, 2, QTableWidgetItem(self.edad))
          self.tableWidget.setItem(row, 3, QTableWidgetItem(self.salario))
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20170910/844937b7/attachment.html>


Más información sobre la lista de distribución pyar