2013-03-06 68 views
2

我想通过在extjs中发送id属性来突出显示特定的行来加载网格。我现在不能选择记录。我该怎么做?谢谢....如何使用id自动选择extjs中的网格记录?

我试过一些代码是在代码中评论是。你可以看到下面。

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(); 
} 

回答

6

用途:

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

将在grid选择由idstore记录。

+0

fileGrid_yon.getSelectionModel()选择(fileStore_yon.getById(secilecek_id));我试图插入它,但它不起作用 – user1702486 2013-03-06 16:14:51

1

这看起来像是一个竞争条件问题。我猜你的代码创建了一个使用ajax或其他东西从远程源加载的网格。尝试在商店的 '负载' 事件嵌入行选择代码:

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(); 
} 
+0

谢谢,但它并没有解决我的问题,我想集中记录,我已发送ID我 – user1702486 2013-03-06 16:20:29

+1

对不起,但你的要求,我不清楚。 – Reimius 2013-03-06 16:50:06

+0

好的谢谢,我通过使用另一种技术解决了这个问题 – user1702486 2013-03-06 16:54:16

1
var index = gridPanel.store.find('fieldName', fieldValue); 
gridPanel.getSelectionModel().select(gridPanel.store.getAt(index)); 
+2

请格式化您的代码,并解释它的作用。 – 2013-12-11 21:24:46

+0

非常好的例子,它像一个魅力工作,谢谢 – 2015-01-26 11:10:17