qtablewidget排序后 再重新加载数据 导致大片数据显示不出

屎克螂 2013-10-07 09:18:21
点了下qtablewidget 的标题,它排序正常,但是再点下查询(也就是重新获取数据),结果一大片数据显示不出。[/quote]
...全文
537 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
silence_cyh 2014-12-28
  • 打赏
  • 举报
回复
重新获取数据之前先关闭可排序性,获取到数据之后再开可排序性,原因不明,但是我刚刚知道这样可以
hust259 2014-12-04
  • 打赏
  • 举报
回复
顶一下吧,同样遇到了这个问题。正在寻求方法中。
屎克螂 2013-10-07
  • 打赏
  • 举报
回复
我新手,参考别人写的,搬过去的,别人的也有这问题,于是就不知道怎么解决了, 就是点了某个列的排序 再点查询 就不正常了
屎克螂 2013-10-07
  • 打赏
  • 举报
回复
引用 1 楼 iasky 的回复:
你原来发过了,你不给代码或者日志,这个谁都不知道啊。
加载方法: ######################################### def refreshTableArea(self): DRG.logger.debug('[refreshTableArea] begin') self.tableWidget.clearContents() self.tableWidget.setRowCount(0) self.myObjList=self.myJsonDict.get('MemberCreditLog') DRG.logger.debug('before for->') i=0 self.sz={}#记录会员所对应的下标 for obj in self.myObjList: self.tableWidget.insertRow(i) colIndex=0 aItem=QtGui.QTableWidgetItem() aItem.setData(QtCore.Qt.UserRole, kKeyChangeLog) aItem.setData(QtCore.Qt.UserRole+1, obj['id']) text='' #摘要申明 employee=DRG.g_network.myEmployeeDict.get(obj['employee']) if (employee!=None): theText=employee.myFullname else: theText='' membercredit=DRG.g_network.myMemberCreditDict.get(obj['membercredit']) if (membercredit!=None): number=membercredit.myNumber member=membercredit.myMember category=membercredit.myCategory expires=membercredit.myExpires createTime=membercredit.myCreateTime #####取到子会员的父级 if(number==None): master=membercredit.myMaster membercredit=DRG.g_network.myMemberCreditDict.get(master) if(membercredit!=None): number=membercredit.myNumber+'(*)' else: member='' ############### else: number='' member='' category='' expires='' createTime='' if (member!=''): members=DRG.g_network.myMemberDict.get(member) if (members!=None): name=members.myName else: name='' if (category!=''): categorys=DRG.g_network.myMemberCategoryDict.get(category) if (categorys!=None): category_name=drf_getCurLangTextInDict(categorys.myNameDict) else: category_name='' comment='' #类型申明 try: strs=str(obj['transcode']).split(':') except Exception, e: strs=[''] #comments={'PAYBACK':'存款','PAY':'pay?', 'CREATE':'发卡', 'UPDATE':'修改', 'UNPAY':'unpay?'} if(strs[0]=='PAYBACK'): comment='存款' text='存款:%s¥, 余额:%s¥, 有效期:%s'%(str(obj['sum']),str(obj['balance']),str(expires)) elif(strs[0]=='CREATE'): comment='发卡' createTime=str(createTime).split('T') text='发卡时间:%s, 有效期:%s'%(createTime[0],str(expires)) elif(strs[0]=='UPDATE'): comment='修改' text='UPDATE' # if(self.ChangeLog_list=={} or self.ChangeLog_list.has_key(str(obj['membercredit']))==False): # theURL = "%s%s?ids=%s"%(DRG.g_network.myServerURL, kURLChangeLog, unicode(obj['membercredit'])) # DRG.g_network.beginGetRequest(theURL, flagFullUpdate=True, successCb=self.callback_ChangeLog_succeed, failureCb=self.callback_ChangeLog_failed) # # self.sz[str(obj['membercredit'])]=0 # # # txts=self.ChangeLog_list.get(str(obj['membercredit'])) # ChangeLog_i=self.sz.get(str(obj['membercredit'])) # txt=txts[ChangeLog_i].split('|:|') # comment=txt[0] # text=txt[1] # sz[str(obj['membercredit'])]+=1 elif(strs[0]=='PAY'): comment='pay?' text='PAY' elif(strs[0]=='UNPAY'): comment='unpay?' text='UNPAY' aItem=QtGui.QTableWidgetItem(comment if comment else '') aItem.setTextAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) self.tableWidget.setItem(i, colIndex, aItem) colIndex+=1 theEndText=drf_getDatetimePart(obj['createTime'], 'datetime') aItem=QtGui.QTableWidgetItem(theEndText if theEndText else '') aItem.setTextAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) self.tableWidget.setItem(i, colIndex, aItem) colIndex+=1 aItem=QtGui.QTableWidgetItem(theText if theText else '') aItem.setTextAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) self.tableWidget.setItem(i, colIndex, aItem) colIndex+=1 aItem=QtGui.QTableWidgetItem(number if number else '') aItem.setTextAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) self.tableWidget.setItem(i, colIndex, aItem) colIndex+=1 aItem=QtGui.QTableWidgetItem(name if name else '') aItem.setTextAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) self.tableWidget.setItem(i, colIndex, aItem) colIndex+=1 aItem=QtGui.QTableWidgetItem(category_name if category_name else '') aItem.setTextAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) self.tableWidget.setItem(i, colIndex, aItem) colIndex+=1 aItem=QtGui.QTableWidgetItem(text) aItem.setTextAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) self.tableWidget.setItem(i, colIndex, aItem) i+=1 self.tableWidget.resizeColumnsToContents() self.tableWidget.resizeRowsToContents(); self.handleFocus() DRG.logger.debug('[refreshTableArea]end->') self.refreshPageInfo()
iasky 2013-10-07
  • 打赏
  • 举报
回复
你原来发过了,你不给代码或者日志,这个谁都不知道啊。

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧