敏捷工具包 - 网格没有重新加载 - 我缺少什么?

时间:2013-08-02 10:22:02

标签: atk4 agiletoolkit

我在弹出窗口提交表单后进行了网格重新加载,但是现在我已经改变了一些东西,并且由于某种原因它停止了工作并且无法找出原因......

编辑:见下面的评论......

基本上,'详细信息'页面曾经不是这个页面的子页面,而是一个单独的.php文件,我更喜欢子页面方法,但我必须搞砸了过渡中的某个地方...... 我已经编辑了一些只会让你更难阅读的东西。

有人看到我错过的或我出错的地方吗?

class page_liststuff extends Page {
    function initMainPage(){
    // parent::init();

    $grid = $this->add('Grid');
    $this->js('reload_grid',$grid->js()->reload());

$grid->addColumn('button','edit');
$grid->addButton('Refresh')->js('click', $grid->js()->reload());

if($_GET['edit']){
    $this->js()->univ()->frameURL('Edit',$this->api->url('details'))->execute();
}

}

function defaultTemplate(){
    return array('page/detail');
}

function page_details(){

    $m = $this->setModel('Stuff');
$f1 = $stap1->add('Form');
$f1->addSubmit('Save');

if ($f1->isSubmitted()){
    try {
            $f1->update();
    $f1->js()->univ()
    ->successMessage('Success!')
    //->closeDialog()
    ->getjQuery()->trigger('reload_grid')
    ->execute();

        } catch(Exeception $e) {
            $f1->js()->univ()->alert('Fail!')->execute();
        }
}
  }

}

1 个答案:

答案 0 :(得分:1)

您可以使用任何jQuery UI Dialog小部件选项,如下所示:

$options = array(
    'closeOnEscape' => false, // http://api.jqueryui.com/dialog/#option-closeOnEscape
    'dialogClass' => 'no-close',
);

$this->js()->univ()
    ->frameURL('Edit', $this->api->url('./details'), $options, $callback)
    ->execute();

只是为了隐藏关闭按钮,使用CSS更容易,如下所述: “{隐藏关闭按钮”一段中的http://api.jqueryui.com/dialog/#entry-longdesc

在某些情况下,您可能希望隐藏关闭按钮,例如,如果按钮窗格中有关闭按钮。实现这一目标的最佳方法是通过CSS。例如,您可以定义一个简单的规则,例如:

.no-close .ui-dialog-titlebar-close {
  display: none;
}

然后,您可以简单地将no-close类添加到任何对话框中,以隐藏其关闭按钮:

$( "#dialog" ).dialog({
  dialogClass: "no-close",
  buttons: [{
    text: "OK",
    click: function() {
      $( this ).dialog( "close" );
    }
  }]
});