wxpython grid 表格快速定位及排序
简介
当表格中数据较多时,通常需要对数据进行快速定位及排序,以下程序演示了如何实现这两个功能。
为方便中在其他程序中调用,这两个功能都做成了静态函数。
功能介绍
- 快速定位
-
- 到顶部
-
- 回退到上一页
-
- 快进到下一页
-
- 到底部
-
- 按列排序
- 左键双击列名进行排序;
- 默认为升序,如果重复双击列名,则在升序、降序中反转。
图例
程序代码
import wx.grid
import string
import random
class MyPanel(wx.Panel):
def __init__(self, parent):
super().__init__(parent)
font = self.GetFont()
font.SetPointSize(12)
self.SetFont(font)
self.grid = wx.grid.Grid(self)
self.grid.SetLabelFont(font)
self.data = make_data(100)
self.n_rows = len(self.data)
self.col_names = ['编号', '姓名', '生日', '有效性']
self.n_cols = len(self.col_names)
self.on_init()
self.re_order(self.grid)
def on_init(self):
box_btn = wx.BoxSizer()
self.fast_move_bar(self.grid, self, box_btn)
box = wx.BoxSizer(wx.VERTICAL)
box.Add(box_btn)
box.Add(self