2017-11-17 6 views
0

私はobjectlistviewを持っています。私はそれから行を削除し、削除された行なしでリストを更新したいと思います。私はデータベースのデータでリストを埋めます。私はrepopulatelistを試みましたが、それはすでにリストに入っているデータを使用しているようです。python + objectlistview + updatelist

私はclearAll(リストをクリア)でそれを解決し、addobjectsを使ってデータベースを再追加することができると思います。しかし、リストを更新するだけでよいはずです。これは私のコードです:

def deletemeas(self): 

    MAid = self.objectma.id 
    MAname = self.pagename 

    objectsRemList = self.tempmeasurements.GetCheckedObjects() 

    print 'objectremlist', objectsRemList 
    for measurement in objectsRemList: 
     print measurement 
     Measname = measurement.filename 
     Measid = database.Measurement.select(database.Measurement.q.filename == Measname)[0].id 
     deleteMeas = [] 
     deleteMeas.append(MAid) 
     deleteMeas.append(Measid) 
     pub.sendMessage('DELETE_MEAS', Container(data=deleteMeas)) #to microanalyse controller 
    #here I get the latest information from the database what should be viewed in the objectlist self.tempmeasurements 
    MeasInListFromDB = list(database.Microanalysismeasurement.select(database.Microanalysismeasurement.q.microanalysisid == MAid)) 

    print 'lijstmetingen:', MeasInListFromDB 
    #this doesn't work 
    self.tempmeasurements.RefreshObjects(MeasInListFromDB) 

答えて

0

[OK]を、これは実際に私は思ったより簡単だった...

私はこの行を追加:

self.tempmeasurements.RemoveObject(measurement) 

だから私は最初に私のデータベーステーブルからデータを取り出しオブジェクトリストビューの行を削除しました。

関連する問題