3

extjs で id 属性を送信して特定の行を強調表示してグリッドを読み込みたいです。今のところレコードは選べません。どうすればできますか?ありがとう....

コードでコメントされているいくつかのコードを試しました。以下で見ることができます。

var GrideAktar = function (bilgim) {
    arr = bilgim.split(",");
    bilgi = arr[0];
    secilecek_id = arr[1];

    harita.hide();
    izgaralar.hide();
    chartlar.hide();
    izgara_yp_is_emirleri.hide();


    izgaralar.show();
    izgaralar.setHeight(merkez.getHeight());
    fileStore_yon.loadById(bilgi);
    tree.treeRefresh();

    cuIzgaraKay = null;
    cuAgacNode = bilgi;
    cuAgacSeciliNode = NodeParser(bilgi);
    cuAgacSeciliSehir = SehirParser(bilgi)
    fileGrid_yon.setHeight(merkez.getHeight());
    //fileGrid_yon.getSelectionModel().selectFirstRow();
    //fileGrid_yon.getSelectionModel().valueOf(id);
    //fileGrid_yon.getSelectionModel().selectRow(1);

    //   var idx = fileGrid_yon.getStore().indexOfId(secilek_id);
    //var rowEl = fileGrid_yon.getView().getRow(idx);
    //rowEl.scrollIntoView(fileGrid_yon.getGridEl(),false);
    Ext.select(secilecek_id);
    raporAlanListesiWindow.hide();
    //fileGrid_yon.getSelectionModel().selectRow( this.getStore().indexOfId(id) ); //raporSecenekleriForm.hide(); 
}
4

3 に答える 3

8

使用する:

grid.getSelectionModel().select(store.getById(id));

でレコードを選択しstoreます。idgrid

于 2013-03-06T14:54:00.303 に答える
1

これは競合状態の問題のようです。あなたのコードは、ajaxなどを使用してリモートソースからロードするグリッドを作成していると思います。ストアの「load」イベントに行選択コードを埋め込んでみてください。

var GrideAktar = function (bilgim) {
    arr = bilgim.split(",");
    bilgi = arr[0];
    secilecek_id = arr[1];

    harita.hide();
    izgaralar.hide();
    chartlar.hide();
    izgara_yp_is_emirleri.hide();


    izgaralar.show();
    izgaralar.setHeight(merkez.getHeight());
    fileStore_yon.on("load", function(){
        fileGrid_yon.getSelectionModel().select(fileStore_yon.getById(id));
    });
    fileStore_yon.loadById(bilgi);
    tree.treeRefresh();

    cuIzgaraKay = null;
    cuAgacNode = bilgi;
    cuAgacSeciliNode = NodeParser(bilgi);
    cuAgacSeciliSehir = SehirParser(bilgi)
    fileGrid_yon.setHeight(merkez.getHeight());
    //fileGrid_yon.getSelectionModel().selectFirstRow();
    //fileGrid_yon.getSelectionModel().valueOf(id);
    //fileGrid_yon.getSelectionModel().selectRow(1);

    //   var idx = fileGrid_yon.getStore().indexOfId(secilek_id);
    //var rowEl = fileGrid_yon.getView().getRow(idx);
    //rowEl.scrollIntoView(fileGrid_yon.getGridEl(),false);
    Ext.select(secilecek_id);
    raporAlanListesiWindow.hide();
    //fileGrid_yon.getSelectionModel().selectRow( this.getStore().indexOfId(id) ); //raporSecenekleriForm.hide(); 
}
于 2013-03-06T16:14:54.203 に答える
1
var index = gridPanel.store.find('fieldName', fieldValue);
gridPanel.getSelectionModel().select(gridPanel.store.getAt(index));
于 2013-12-11T21:02:03.377 に答える