Example #1
0
    def _set_data_view_with_df(grid: wx.ListCtrl, df: Optional[pd.DataFrame]):
        """Set data view with data frame."""
        grid.ClearAll()
        if df is None:
            return

        cols = df.columns.tolist()
        n_col = len(cols)
        for i, col in enumerate(cols):
            grid.InsertColumn(i, col)
        for i, row in df.iterrows():
            grid.InsertItem(i, row[cols[0]])
            for n in range(1, n_col):
                grid.SetItem(i, n, row[cols[n]])
Example #2
0
def listctrl(element, instance: wx.ListCtrl):
    props = {**element['props']}
    if 'style' in props:
        del props['style']
    set_basic_props(instance, props)
    # TODO: what events...?
    instance.DeleteAllColumns()
    instance.DeleteAllItems()
    for e, col in enumerate(props.get('column_defs', [])):
        instance.InsertColumn(e, col['title'])

    for row_idx, item in enumerate(props.get('data', [])):
        instance.InsertItem(row_idx, '')
        for col_idx, coldef in enumerate(props.get('column_defs', [])):
            instance.SetItem(row_idx, col_idx, coldef['column'](item))
    return instance
Example #3
0
 def InsertColumn(self, col, info):
     retval = ListCtrl.InsertColumn(self, *args, **kwargs)
     ColumnSorterMixin.SetColumnCount(self, self.GetColumnCount())
     return retval