Exemplo n.º 1
0
 def OnCheck(self,event):
     '''
     :查询按钮动作事件响应
     :param event:事件值
     '''
     ''''''
     self.SetStatusText('',1)                            #清空状态栏信息
     self.savebutton.Enable(False)                       #重新获取数据,save按钮不可用
     if self.grid.GetNumberRows() > 0:                   #再次查询时清空还原
         self.grid.ClearGrid()
         self.grid.DeleteRows(0,self.grid.GetNumberRows())
     dbs = DBstorage()
     self.langid = ggv.langIds[ggv.langs.index(self.langlachoice.GetLabel())]    #查询是语种数据库
     self.datestart = self.startdate.GetValue()          #获取输入的日期
     if not self.ShowMessage(self.datestart): return None                        #判断日期是否为空
     if self.singleflag:                                 #查询单个数据表格
         langtable = self.langid+self.datestart          #构建待查询数据表名称
         self.dataitems = dbs.fetchall_data_single(langtable)#查询数据库
     else:
         self.dateend = self.enddate.GetValue()
         if not self.ShowMessage(self.dateend):return None                       #判断日期是否为空
         if self.dateend < self.datestart:self.dateend,self.datestart = (self.datestart,self.dateend)    #若截止日期小于开始日期则调换
         self.datestart = self.datestart[:4] + '-' + self.datestart[4:6] + '-' + self.datestart[6:]
         self.dateend = self.dateend[:4] + '-' + self.dateend[4:6] + '-' + self.dateend[6:]
         if not self.ShowMessage(self.dateend):return None
         self.dataitems = dbs.fetchall_data_total(self.langid, (self.datestart,self.dateend))
     if not self.dataitems:
         wx.MessageBox(u'这个时间段没有%s数据入库,\n请尝试查询其他时间段数据。'%self.lang,
                       u'找不到相关数据',
                       wx.OK|wx.ICON_INFORMATION)
         self.SetStatusText(u'查询到0个结果',1)
         return None
     self.grid.AppendRows(len(self.dataitems))
     self.SetStatusText(u'查询到%s个结果'%len(self.dataitems),1)
     for i,row in enumerate(self.dataitems):
         for j,col in enumerate(row[1:]):
             self.grid.SetCellValue(i,j,str(col).encode('utf8'))
     self.savebutton.Enable(True)