NXZFW项目总结(二)

写完了jqlist后该到View 显示详细信息了。这段比较简单,直接调用封装好的方法就好了,就是注意下有的需要隐藏的字段。

update也同样是这样,先做跳转,跳转完后调用方法。

在这里需要讲的是删除。同时也重点讲一下JqGrid的应用。

jqGrid是典型的B/S架构,服务器端只是提供数据管理,客户端只提供数据显示。换句话说,jqGrid可以以一种更加简单的方式来展现你数据库的信息,而且也可以把客户端数据传回给服务器端。

对于jqGrid我们所关心的就是:必须有一段代码把一些页面信息保存到数据库中,而且也能够把响应信息返回给客户端。jqGrid是用ajax来实现对请求与响应的处理。

JqGrid 是用Ajax来实现请求与相应的,这里做一下纠正。

引用的问题就不讲了,具体的可以参考JqGrid中文文档:http://blog.mn886.net/jqGrid/

因为我对这个也没有做过太深的了解,所以有些方面都是个人的理解。

首先最终要的是获取数据,

$("#list").jqGrid({
      url:'
aaQuestion.do?method=getDataList',  (获取数据)
      editurl: "aaQuestion.do?method=alter",
                mtype : 'post',  
                datatype : 'json',
             postData:{
            conferenceId:function(){return $('#conferenceId').val();  (这里应该是要传递的值)

           }
            },

下面就是colNames的长度要和colModel的长度相等。

获取行的ID以及赋值等:

var ids = $("#list").jqGrid('getDataIDs');

var rowid = ids[i];
    var rowdata = $('#list').getRowData(rowid);
    var interId = rowdata['interId'];

在做方法跳转的时候一定要看参数是不是已经获取到了,不然怎么点都不会有用的。

下面讲讲删除:

添加删除按钮,并给该按钮添加onclick事件:

         $("#list").jqGrid('navButtonAdd','#pager',{caption:"删除",title:"删除",buttonicon:"ui-icon-trash",
        onClickButton:function(){
        removeResearch();
       
       });

然后再下面就是实现这个function。

     function removeResearch(){


      var selectedIds = $('#list').jqGrid('getGridParam','selarrrow');
        var interIds="";
        var flag = true;
        for(i=0;i<selectedIds.length;i++){
        var rowdata =  $('#list').getRowData(selectedIds[i]);
        var interId = rowdata['interId'];
        if(i==0){
        interIds = interIds + interId;
        }else{
        interIds = interIds + ","+interId;
        }
        }
        if(interIds==""){
        alert("请选择需要删除的!!!!");
        return;
        }
     
      if(confirm("是否将!!!删除?")){
  $.get(
'aaResearch.do?method=remove',
{
interIds:interIds,
randNum:Math.random()
},
function(data)
{
var myJson = eval("myJson="+data+";");
var flag = myJson.flag;
var id =  $("#userid").val();
if(flag=='9'){
alert("删除成功!");
window.location.href="aaResearch.do?method=jqlist";
}else{
alert("删除失败!");
window.location.href="aaResearch.do?method=jqlist";


}
);
}
   
    }

这里调用的是remove方法。但是生成的代码中并没有,还是需要自己来写。

public ModelAndView remove(HttpServletRequest request, HttpServletResponse response) throws Exception {
    String interIds = request.getParameter("interIds");
    response.setContentType("text/html; charset=UTF-8");
   PrintWriter out = response.getWriter();

   try{
    aaResearchService.remove(interIds);
    String a  = "{'flag':9}";
    out.print(a);
    System.out.println(a);
}catch(Exception e){
e.printStackTrace();
   out.print("{'flag':'0'}");
   }
return null;
   
    }

Service和BO中添加方法

void remove(String ids)  throws SQLException;

public void remove(String ids)  throws SQLException{
giantdsDAO.getSqlMapClientTemplate().delete("removeAaResearchByIds",ids);
}

这样就OK了。

接下来是行内添加按钮,点击按钮Open新的页面。colNames和colModel添加内容。

'操作'+ {name:'opearte',index:'opearte', width:30,align:'center'}

gridComplete: function(){}  中添加内容

html = "<span class='ui-icon ui-icon-folder-open' οnclick='getQuestionList("+interId+")' tilte='问题' style='cursor: pointer;'></span>";
    $("#list").jqGrid('setRowData',ids[i],{opearte:html});

此处的方法为getQuestionList。所以在下面添加个getQuestionList的function。

function getQuestionList(interId){
openNewWindow(
//'aaFileNote.do?method=jqlist&fileId='+interId+'&random='+Math.random(),
'aaQuestion.do?method=jqlist&researchId='+interId,
600, 1000, 150, 150
)

}

选择到行的Id,传递参数,匹配到与之相同的内容。

这里传递了一个researchId参数获取到question表中researchId为此行ID的内容,这种做法主要是显示该ID下的内容。

在这里Jqlist方法中也是跳转过程中将对象传递过去,注:传递的对象是那个表中的,就创建那个表的视图。

在这里先new出对象。

AaQuestionForm aaQuestionForm = new AaQuestionForm();
    BindingResult result = bindObject(request, aaQuestionForm); 

添加到返回中  return new  .addObject("queryModel",aaQuestionForm);

这个流程中重要的一点是显示出该ID下的内容,另一点就是在添加的时候要保证能添加到该ID下,所以需要再将这个ID传到添加的页面,并直接赋值。

跳转的过程中也是要保证该字段在视图中。

添加隐藏域存储该字段。<input type="hidden" id="researchId" name="researchId" value="${queryModel.researchId }"/>

这样就能保证添加的内容能显示在最先的ID下了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计质量管理办法要点解读输变电工程设计

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值