corethink功能模块探索开发(十四)后台编辑按钮

效果图:

1.添加下图55&58行代码

2.实现edit方法

位于Equip/Admin/DeviceRepaireAdmin.class.php中

    public function edit($id){  
            if(IS_POST){  
                //用于保存编辑后的数据  
                $Equip_Repaire_object = D('equip_report');  
                $data = $Equip_Repaire_object->create();  
                if ($data) {  
                    if ($Equip_Repaire_object->save($data)) {  
                        $this->success('更新成功', U('index'));  
                    } else {  
                        $this->error('更新失败');  
                    }  
                } else {  
                    $this->error($Equip_Repaire_object->getError());  
                }  
            }else{  
      
                //用于填充并显示点击编辑按钮后生成的列表  
      
                $info = D('equip_report')->find($id);  
                // 使用FormBuilder快速建立表单页面。  
                $builder = new CommonBuilderFormBuilder();  
                $builder->setMetaTitle('编辑导航')  // 设置页面标题  
                ->setPostUrl(U('edit'))    // 设置表单提交地址  
                ->addFormItem('id', 'hidden', 'ID', 'ID')  
                    //设置文本类型的表单项目并用对应的数据库字段填充  
                    ->addFormItem('report_dormitory_num', 'text', '宿舍号', '报修的宿舍号')  
                    ->addFormItem('report_describe', 'text', '描述', '情况描述')  
                    ->addFormItem('report_ip', 'text', 'IP地址', '报修人的ip')  
                    ->addFormItem('report_tel', 'text', '手机号', '报修人的手机号')  
                    ->addFormItem('report_bzu_account', 'text', 'BZU账户')  
                    //设置单选按钮、还可以参考实现select下拉选择框  
                    ->addFormItem('report_deal_or_not', 'radio', '处理状态', '用于显示的顺序',array('0' => '未处理', '1' => '已处理'))  
                    ->addFormItem('report_repaire_person', 'text', '处理人', '本次报修的处理人')  
                   //--TODO-- 更改处理时间  
                       //设置数据关联  
                    ->setFormData($info)  
                    ->display();  
            }  
        }  

  这样就OK了。
贴出Equip/Admin/DeviceRepaireAdmin.class.php 

<?php
/**
 * Created by PhpStorm.
 * User: pangPython
 * Date: 16-3-24
 * Time: 下午9:34
 */
namespace EquipAdmin;


use AdminControllerAdminController;
use CommonUtilThinkPage;

class DeviceRepireAdmin extends AdminController{
    public function index(){
        // 获取所有链接
        $p = !empty($_GET["p"]) ? $_GET["p"] : 1;
        $device_repire_object = D('equip_report');//实例化数据对象
        $data_list = $device_repire_object
            ->page($p, C('ADMIN_PAGE_ROWS'))
            ->select();//分页查询数据列表
        $page = new Page(
            $device_repire_object->count(),
            C('ADMIN_PAGE_ROWS')
        );

        // 转换成树状列表
        $tree = new CommonUtilTree();
        $data_list = $tree->toFormatTree($data_list);

        // 使用Builder快速建立列表页面。
        $builder = new CommonBuilderListBuilder();
        $builder->setMetaTitle('设备报修列表')  // 设置页面标题

            /*
             * pangPython
             * 2016-04-05
             *
             * */

        //->addTopButton('self',$attr)    // 添加自定义按钮

            ->addTopButton('delete',array('model' => 'equip_report'))  // 添加删除按钮
            ->setSearch('请输入ID/链接标题', U('index'))
            ->addTableColumn('id', 'ID')
            ->addTableColumn('report_dormitory_num', '宿舍号')
            ->addTableColumn('report_describe', '描述')
            ->addTableColumn('report_ip', 'ip')
            ->addTableColumn('report_time', '报修时间', 'time')
            ->addTableColumn('report_tel', '手机号')
            ->addTableColumn('report_bzu_account', 'BZU账户', 'status')
            ->addTableColumn('report_deal_or_not', '处理否')
            ->addTableColumn('report_repaire_person', '处理人')
            ->addTableColumn('report_repaire_time', '处理时间','time')
            ->addTableColumn('right_button', '操作', 'btn')
            ->setTableDataList($data_list)     // 数据列表
            ->setTableDataPage($page->show())  // 数据列表分页
            ->addRightButton('edit')           // 添加编辑按钮
//            ->addRightButton('forbid')  // 添加禁用/启用按钮
//            ->addRightButton('delete')  // 添加删除按钮
                ->display();
    }

    public function edit($id){
        if(IS_POST){
            //用于保存编辑后的数据
            $Equip_Repaire_object = D('equip_report');
            $data = $Equip_Repaire_object->create();
            if ($data) {
                if ($Equip_Repaire_object->save($data)) {
                    $this->success('更新成功', U('index'));
                } else {
                    $this->error('更新失败');
                }
            } else {
                $this->error($Equip_Repaire_object->getError());
            }
        }else{

            //用于填充并显示点击编辑按钮后生成的列表

            $info = D('equip_report')->find($id);
            // 使用FormBuilder快速建立表单页面。
            $builder = new CommonBuilderFormBuilder();
            $builder->setMetaTitle('编辑导航')  // 设置页面标题
            ->setPostUrl(U('edit'))    // 设置表单提交地址
            ->addFormItem('id', 'hidden', 'ID', 'ID')
                //设置文本类型的表单项目并用对应的数据库字段填充
                ->addFormItem('report_dormitory_num', 'text', '宿舍号', '报修的宿舍号')
                ->addFormItem('report_describe', 'text', '描述', '情况描述')
                ->addFormItem('report_ip', 'text', 'IP地址', '报修人的ip')
                ->addFormItem('report_tel', 'text', '手机号', '报修人的手机号')
                ->addFormItem('report_bzu_account', 'text', 'BZU账户')
                //设置单选按钮、还可以参考实现select下拉选择框
                ->addFormItem('report_deal_or_not', 'radio', '处理状态', '用于显示的顺序',array('0' => '未处理', '1' => '已处理'))
                ->addFormItem('report_repaire_person', 'text', '处理人', '本次报修的处理人')
               //--TODO-- 更改处理时间
                   //设置数据关联
                ->setFormData($info)
                ->display();
        }
    }

}

  

原文地址:https://www.cnblogs.com/mracale/p/8086125.html