我正在尝试使用从数据库读取的值更新 wxgrid。
当我在循环上方直接使用 SetCellValue 时,它会正确分配值,但在循环中它似乎只更新网格的“本地”副本,并且当再次退出循环时,只包含它之前的值 - 我我确信这是一个非常愚蠢的错误,但它让我发疯,所以非常感谢任何帮助。
#now clear grid and re-populate with cafe data
print('1,6 is ',self.myGrid.GetCellValue(1,6))
self.myGrid.SetCellValue(1,7,'TEST')
#self.myGrid.ClearGrid()
for index, value in enumerate(curItems):
x = 0
print(index)
print(len(value))
while x < len(value):
if debug : print(x,index,value[x])
self.myGrid.SetCellValue(x,index,str(value[x]))
print('grid values :',index,x,self.myGrid.GetCellValue(x,index))
x += 1
print('1,7 is ',self.myGrid.GetCellValue(1,7))
self.myGrid.ForceRefresh
单元格 (1,6) 在定义函数中使用测试值定义,然后在事件上调用它(它会更新其他 setLabels 等),并在此处给出正确的值:
1,6 is I'm in red!
在循环中,值设置正确:
grid values : 1 0 20220114002
grid values : 1 1 2022-01-14
grid values : 1 2 Electrical
grid values : 1 3 Toaster
grid values : 1 4 burns
grid values : 1 5 0
grid values : 1 6 Not Fixed
grid values : 1 7 Steve
grid values : 1 8 too damaged
grid values : 1 9 1
但是一旦您退出循环:
1,7 is TEST