【问题标题】:DOJO Datagrid remove row via buttonDOJO Datagrid 通过按钮删除行
【发布时间】:2012-10-19 17:11:23
【问题描述】:

我有一个 DOJO Datagrid 正在运行。它基于 itemFileWriteStore。

通过格式化程序功能,我添加了一个包含 OnClick 功能的按钮

  1. 获取属性“work_id”(在商店中)
  2. 进行 Ajax 调用以删除条目
  3. 将其从存储中移除并更新网格

这是代码:

    //BUTTON-FORMATTER
     function buttonFormatterRemove(){
        var w = new Button({
            label: "Löschen",
            iconClass: "dijitEditorIcon deleteIcon",
            showLabel: false,
            onClick: function() {
                    console.log(this);
                    if (confirm("Datensatz wirklich löschen?")){

                        var item = grid.selection.getSelected();
                        var work_id = grid.store.getValue(item[0], "work_id");
                        //alert(work_id);

                        //FIRE REQUEST
                            request.post("<?php echo site_url('work/delete'); ?>/"+work_id, {

                              }).then(function(text){
                                    if(text ==  1){
                                                console.log("Entry with ID"+work_id+" deleted!")
                                                workStore.deleteItem(item[0]); 
                                                grid.startup();
                                    } else alert("Es ist ein Fehler aufgetreten");
                                });     
                    }          

            }
        });
        w._destroyOnRemove=true;
        return w;
    }

到目前为止一切都很好......它有效!但只有当我之前点击进入数据网格时。我点击的地方无关紧要。

如果我刷新页面并直接单击按钮,它会抛出:

Uncaught Error: dojo.data.ItemFileWriteStore: Invalid item argument. 

有谁知道如何获取特定行中 work_id 的句柄?

提前感谢您! AFX

【问题讨论】:

    标签: select button datagrid dojo store


    【解决方案1】:

    我自己解决了这个问题:

    我意识到格式化程序有可选参数:

      //BUTTON-FORMATTER
         function buttonFormatterRemove(col, rowIndex){
    

    通过这些参数,我可以掌握该行:

            var rowdata = this.grid.getItem(rowIndex);
            var work_id = rowdata['work_id'];
    

    这篇博文对我帮助很大:http://documentumcookbook.wordpress.com/2010/08/06/dojo-datagrid-combining-field-values-in-formatter/

    还是谢谢!

    【讨论】:

      猜你喜欢
      • 2011-04-29
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多