0

この例のように、グリッドで再構成を呼び出して列のテキストを変更したい

http://docs.sencha.com/extjs/4.2.0/extjs-build/examples/build/KitchenSink/ext-theme-neptune/#reconfigure-grid

ただし、グリッドとは関係のない外部コントロールから実行したいと考えています。

変数に渡すと、再構成を呼び出すときにメソッドなしエラーが発生するため、グリッドへの参照を見つける必要があります

どんな助けでも感謝します

編集

投稿のリンクを見ている場合、この関数は次のとおりです。

onShowOfficesClick: function(){ 
var grid = this.down('grid'); 
Ext.suspendLayouts();
grid.setTitle('Employees');
grid.reconfigure(this.createOfficeStore()

グリッドを再構成する方法を示します。

私がやろうとしているのは、外部関数からグリッド参照を取得することです。それが可能かどうかはわかりません

これが私のコードの一部です

var Social_Environment_Grid = Ext.create('Ext.data.Store', {

ストアを作成するために移動しますが、あまり関連性がありません

次に、呼び出したい別のJquery関数です

Social_Environment_Grid.reconfigure(false, newColumArray) 

しかし、Social_Environment_Grid has no method reconfigure というエラーが表示されるので、これは正しいオブジェクト参照ではないと思います

これが理にかなっていることを願っています

固定編集

ここでのみんなのコメントと回答のおかげで修正されましたが、私の問題でした

 var Panel1 = Ext.create('Ext.panel.Panel', {
    layout: 'fit',
    height: 400,
    layout: {
        type: 'vbox', // Arrange child items vertically
        align: 'stretch', // Each takes up full width
        padding: 5
    },
    items: [{ // Results grid specified as a config object with an xtype of 'grid'
        xtype: 'grid',
        id: 'Panelxx1',
        columns: [

それから電話する

Ext.getCmp('Panelxx1').reconfigure(false,alternativeIndex); 

私はグリッドを参照していませんでしたし、オブジェクト参照を正しく呼び出していませんでした。皆さんの助けに感謝します

4

1 に答える 1

1

グリッドのビューを更新するために必要なことはreconfigure、グリッド オブジェクトのメソッドを呼び出すことです。つまりgrid、コード例の変数です。

docに記載されているように、このメソッドは新しいストアを最初の引数として受け入れ、新しい列配列を 2 番目の引数として受け入れます。どちらもオプションです。

そのため、データ モデルのフィールドが変更された場合は、更新されたフィールドで新しいストアを作成する必要があります。ストアがモデルに基づいている場合、最初に静的setFieldメソッド (例: My.Model.setFields(...)) を使用してストアを更新し、次にこのモデルを使用して新しいストアを作成し、それをグリッドのreconfigureメソッドに渡します。

データ フィールドが変更されない場合は、例のように最初の引数をスキップして、新しい列に配列のみを使用できます。

さて、あなたの問題は、呼び出したい場所でグリッドオブジェクトへの参照を取得することのようですreconfigure。これを達成するには多くの方法があります。最も簡単な方法は (絶対にすべきではないグローバル変数の使用を除いて)、idconfig オプションでグリッドに id を与えることです。グリッドが必要な場合は、 で参照を取得できますExt.getCmp(myGridId)reconfigureこれはおそらくあなたの状況では最もクリーンではありませんが、より適切な提案をするために、あなたが電話したいコンテキストを知る必要があります.

于 2013-05-31T08:15:34.573 に答える