Loops 使用行的范围从数组填充wxGrid
这应该很简单,但我正在努力让它工作: 我想用sqlite查询中的值填充网格Loops 使用行的范围从数组填充wxGrid,loops,wxpython,Loops,Wxpython,这应该很简单,但我正在努力让它工作: 我想用sqlite查询中的值填充网格 rowNum = 3 # This is from a 'select count' query row_num = range(rowNum) # This gives me [0, 1, 2] tbl = [('apple', 'fruit'), ('bacon', 'meat'), ('rose', 'flower')] # from another query for row in tbl:
rowNum = 3 # This is from a 'select count' query
row_num = range(rowNum) # This gives me [0, 1, 2]
tbl = [('apple', 'fruit'), ('bacon', 'meat'), ('rose', 'flower')] # from another query
for row in tbl:
cells = row[0:2]
for i in range(len(cells)):
self.mygrid.SetCellValue(row_num, i, str(cells[i]))
这告诉我“重载1:参数1具有意外类型”列表
for a in row_num:
for row in tbl:
cells = row[0:2]
for i in range(len(cells)):
self.mygrid.SetCellValue(row_num[a], i, str(cells[i]))
这将在第1列中填充三行网格,第2列中填充“flower”
我知道这是一个简单的迭代问题,但我的大脑没有看到它。在您的第一个代码块中,您可以设置CellValue(row_num…其中row_num始终是[0,1,2] 在第二个循环中,实际上有3个循环,最里面的循环总是将tbl中的所有行写入同一行(row_num[a]),最后一个循环保持不变 这个怎么样:
for (row_idx, row) in enumerate(tbl):
for (col_idx, col) in enumerate(row[0:2]):
self.mygrid.SetCellValue(row_idx, col_idx, str(col))