瀏覽代碼

Merge pull request #1419 from qingant/fix-aggrid-column-fit

Disable default aggrid column fit
Falko Schindler 1 年之前
父節點
當前提交
920bab365d
共有 2 個文件被更改,包括 10 次插入2 次删除
  1. 2 1
      nicegui/elements/aggrid.js
  2. 8 1
      nicegui/elements/aggrid.py

+ 2 - 1
nicegui/elements/aggrid.js

@@ -8,7 +8,7 @@ export default {
       this.$el.textContent = "";
       this.$el.textContent = "";
       this.gridOptions = {
       this.gridOptions = {
         ...this.options,
         ...this.options,
-        onGridReady: (params) => params.api.sizeColumnsToFit(),
+        onGridReady: this.auto_size_columns ? (params) => params.api.sizeColumnsToFit() : undefined,
       };
       };
       for (const column of this.html_columns) {
       for (const column of this.html_columns) {
         if (this.gridOptions.columnDefs[column].cellRenderer === undefined) {
         if (this.gridOptions.columnDefs[column].cellRenderer === undefined) {
@@ -88,5 +88,6 @@ export default {
   props: {
   props: {
     options: Object,
     options: Object,
     html_columns: Array,
     html_columns: Array,
+    auto_size_columns: Boolean,
   },
   },
 };
 };

+ 8 - 1
nicegui/elements/aggrid.py

@@ -16,7 +16,12 @@ except ImportError:
 
 
 class AgGrid(Element, component='aggrid.js', libraries=['lib/aggrid/ag-grid-community.min.js']):
 class AgGrid(Element, component='aggrid.js', libraries=['lib/aggrid/ag-grid-community.min.js']):
 
 
-    def __init__(self, options: Dict, *, html_columns: List[int] = [], theme: str = 'balham') -> None:
+    def __init__(self,
+                 options: Dict, *,
+                 html_columns: List[int] = [],
+                 theme: str = 'balham',
+                 auto_size_columns: bool = True,
+                 ) -> None:
         """AG Grid
         """AG Grid
 
 
         An element to create a grid using `AG Grid <https://www.ag-grid.com/>`_.
         An element to create a grid using `AG Grid <https://www.ag-grid.com/>`_.
@@ -26,10 +31,12 @@ class AgGrid(Element, component='aggrid.js', libraries=['lib/aggrid/ag-grid-comm
         :param options: dictionary of AG Grid options
         :param options: dictionary of AG Grid options
         :param html_columns: list of columns that should be rendered as HTML (default: `[]`)
         :param html_columns: list of columns that should be rendered as HTML (default: `[]`)
         :param theme: AG Grid theme (default: 'balham')
         :param theme: AG Grid theme (default: 'balham')
+        :param auto_size_columns: whether to automatically resize columns to fit the grid width (default: `True`)
         """
         """
         super().__init__()
         super().__init__()
         self._props['options'] = options
         self._props['options'] = options
         self._props['html_columns'] = html_columns
         self._props['html_columns'] = html_columns
+        self._props['auto_size_columns'] = auto_size_columns
         self._classes = ['nicegui-aggrid', f'ag-theme-{theme}']
         self._classes = ['nicegui-aggrid', f'ag-theme-{theme}']
 
 
     @staticmethod
     @staticmethod