Dojo:对于网格中的每一行,都有一个按钮,单击该按钮可以显示数据存储中的更多信息

Dojo: for each row in a grid, have a button that when clicked shows more information from the data store

本文关键字:按钮 信息 单击 显示 数据 存储 一行 于网格 网格 Dojo 有一个      更新时间:2023-09-26

事实证明,这非常困难。

假设我有一个显示文件名称和大小的网格。

信息从JSON文件加载到dojo/store/Memory的实例中,然后在网格中显示关键属性。如何在网格的每一行都包含一个按钮,当单击该按钮时,它会显示有关文件的更多属性?这些属性存储在CCD_ 2中。

现在我在网格中有一行像这样:

    {name:"More", field:"id", formatter: buttonFormatter, datatype:"string", noresize: true, width: "120px"}

我试图使用格式化程序将ID传递给一个按钮:

    var buttonFormatter = function(inValue){
        var newButton = new Button({
            label: "Details",
            onClick: function(inValue){
                alert("More information about " + inValue + "  goes here");
            }
        });
        return newButton;
    }

然而,这不起作用。

据我所知,困难在于:
1) 将每个特定按钮与商店中的特定文件关联
2) 让onClick javascript访问来自商店的数据

谢谢你的帮助!Tristan

您可以使用dojo数据类型的事件附加点来执行操作。网格小部件实例中的相应方法将以不同的样式显示您的更多属性,如工具提示、附加、对话框等,因为您需要

不确定这是否会对您有所帮助,但请查看一下。

在本例中,按钮上有一个onclick Event,用于缩放到单击的行。

https://developers.arcgis.com/en/javascript/jssamples/fl_zoomgrid.html

问候