2017-07-31 7 views
0

私はDevExtreme DataGridウィジェットを私のAngular appの下で使用しています。私は(tableStateLoad)をロードしてを保存するためにカスタムメソッドを使用してい角度:DevExtreme DataGridステートストア

<dxo-state-storing [enabled]="true" type="custom" savingTimeout="2000" [customSave]="tableStateSave" [customLoad]="tableStateLoad"></dxo-state-storing> 

:あなたCASはこのラインで見たよう

<dx-data-grid 
    id="gridContainer" 
    [dataSource]="employees" 
    [allowColumnReordering]="true" 
    [allowColumnResizing]="true" 
    [columnAutoWidth]="true"> 
    <dxo-column-chooser [enabled]="true"></dxo-column-chooser> 
    <dxo-column-fixing [enabled]="true"></dxo-column-fixing> 
    <dxo-state-storing [enabled]="true" type="custom" savingTimeout="2000" [customSave]="tableStateSave" [customLoad]="tableStateLoad"></dxo-state-storing> 
    <dxi-column 
     caption="Employee" 
     [width]="230" 
     [fixed]="true" 
     [calculateCellValue]="calculateCellValue" 
    ></dxi-column> 
    <dxi-column dataField="BirthDate" dataType="date"></dxi-column> 
    <dxi-column dataField="HireDate" dataType="date"></dxi-column> 
    <dxi-column dataField="Position" alignment="right"></dxi-column> 
    <dxi-column dataField="Address" [width]="230"></dxi-column> 
    <dxi-column dataField="City"></dxi-column> 
    <dxi-column dataField="Zipcode" [visible]="false"></dxi-column> 
    <dxi-column dataField="HomePhone"></dxi-column> 
    <dxi-column dataField="MobilePhone"></dxi-column> 
    <dxi-column dataField="Skype"></dxi-column> 
    <dxi-column dataField="Email"></dxi-column> 
</dx-data-grid> 

:ここ

は私のdatGridの図です。 (tableStateSave)
私のDataGridの状態(列の位置とサイズ)。

タイムアウトが2秒以内に自動的に変更されるたびに状態保存が行われます。

しかし、私はの自動保存アクションを簡単なボタンで手動で置き換えてください。

提案

<dxo-state-storing [enabled]="true" type="custom" savingTimeout="2000" [customLoad]="tableStateLoad"></dxo-state-storing> 

か、単に空の関数にcustomSaveプロパティを設定します。

+0

'grid.instance.stateは()'私はそれを使用することができますどのように、あなたが理解していない – yurzui

+0

@yurzuiを保存することができます状態を返します – firasKoubaa

+0

https://plnkr.co/edit/e6w27E8sjbx1elVHWbqv?p=preview – yurzui

答えて

0

あなたは、保存方法、カスタムを指定せずにdxo-state-storingディレクティブを使用することができます。このようにして、状態は自動的にロードされますが、どのような方法でも保存されません。次に、現在のグリッドの状態にgrid.instance.state()でアクセスして、独自の保存ロジックを持つクリックハンドラを持つボタンを実装します。

関連する問題