【问题标题】:How to get the object which represents the selected row in a slickgrid如何获取代表slickgrid中选定行的对象
【发布时间】:2010-06-21 17:21:03
【问题描述】:

我有一个带有 slickgrid 的网页,它在网格上呈现一组对象。当所选行更改时,我想做一些动态的东西(主细节,如安装程序)。但是为了能够做到这一点,我需要所选行的数据。我知道grid.getCurrentCellNode() 函数会给我当前节点的dom 元素,但我正在寻找的是一个javascript 对象。例如,如果我使用下面的对象数组

data = [ 
        {id:1, name:'Khaja', dob:'26/07/1985'},
        {id:2, name:'Iqbal', dob:'26/07/1935'}
        ......
        ...
        ];

如果我选择的行是 id 等于 2 的行,我希望能够检索对象{id:2, name:'Iqbal', dob:'26/07/1935'} 有没有办法可以得到这个对象?

【问题讨论】:

    标签: javascript slickgrid


    【解决方案1】:

    您可以使用 onSelectedRowsChanged 事件和 getSelectedRows 方法。

    【讨论】:

    • 感谢您指出这一点,我假设 slickgrid 不会将原始数据数组存储到网格绑定,但似乎确实如此。所以,现在我可以使用getSelectedRows 获取选定的行索引,然后在原始数据源中查找该索引。谢谢。
    【解决方案2】:
    data[i]={
        ID: json[i].ID,
        Name: json[i].Name,
        Description: json[i].Description,
        CreatedDate: myDate,
        makesub: "---",
        shared: json[i].IsShared
        };
    .....
    
    grid.onClick = function (e, row, cell) {
                if (columns[cell].id == "colname"){ 
                            // where colname is the column on which you want to trigger the click
                alert("clicked:"+row+", albumID:"+data[row].ID);
    

    【讨论】:

    • 你能解释一下你的答案吗?
    猜你喜欢
    • 2022-01-09
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 2014-10-06
    相关资源
    最近更新 更多