EasyUI DataGrid表格雙擊獲取該行數據—筆記

綁定雙擊事件函數

$("#queDg").datagrid({
    ... ...
    ... ...
    onDblClickRow:function(rowIndex){
        $("#queDg").datagrid("selectRow",rowIndex);
        var currentRow = $("#queDg").datagrid("getSelected");
        $("#p p").text("");
        $("#p p").text(currentRow.description);
        $("#queDg").datagrid("unselectRow", rowIndex);
    }
});

將鼠標雙擊的這行設爲選中狀態,將選中行字段值傳入p標籤中,事件完成後取消選中。

表格自動獲取的數據對象,即使沒有將數據對象中key值設爲表格的字段,也可以獲取當前行的這個key對應的value值。
Ajax將獲取的值發送給服務端,返回的數據添加到p標籤中。

var f_id = currentRow.function_id;//function_id沒有設爲表格字段

$.ajax({
     type : "POST",
     url : ctx + "/project/getFunctionCode",
     dataType:"text",
     data : {
                "functionId" : f_id
            },
     success : function(data){ 
                 $("#g p").text("");
                 $("#g p").text(data);
            }
  });

源代碼:

//疑似問題列表
         function queDataGrird(projectId){
             var param = {"projectId":projectId};
             $("#queDg").datagrid({
                    loadMsg : 'Processing, please wait …',
                    fitColumns : false,
                    rownumbers : true,
                    toolbar : '#queTab',
                    method : "POST",
                    url : ctx + "/home/getProblem",
                    queryParams:param,
                    columns : [[ 
                                 {field : 'fname',title : '缺陷函數',width : 150,align : 'center'}, 
                                 {field : 'type', title : '缺陷類型',width : 150,align : 'center', formatter : function(value, row, index) {
                                    var v = "";switch (value) {
                                               case 1:v = "指針安全";break;
                                               case 2:v = "數組越界";break;
                                               case 3:v = "內存泄漏";break;
                                               case 4:v = "有符號數溢出";break;
                                               case 5:v = "無符號數溢出";break;
                                               case 6:v = "浮點數溢出";break;
                                               case 7:v = "除數爲零";break;
                                               case 8:v = "非數值";break;
                                               default:
                                                    v = "未知";
                                                }
                                    return v;
                                    }},
                        {field :'position',title : '位置',width :150,align : 'center'}, {
                        field : 'description',title : '缺陷描述',width : 950,align : 'left'}, {
                        field : 'is_confirm',title :'確認爲缺陷 <img  src="static/easyui/css/images/u197.png"  style="display:block;float:right;margin-left:10px">',width : 150, align : 'center',
                                     formatter:function(v,r,i){  
                                         var img = "";
                                         if(v==-1){
                                             img = '<a href="javascript:void(0);" ><img src="static/easyui/css/images/u201.png" οnclick="confirmChange(\''+r.problem_id+'\',\''+r.is_confirm+'\',\''+i+'\');" border=0 width="19" height="19"></a>'
                                         }else{
                                             img = '<a href="javascript:void(0);" ><img src="static/easyui/css/images/u197.png" οnclick="confirmChange(\''+r.problem_id+'\',\''+r.is_confirm+'\',\''+i+'\');" border=0 width="19" height="19"></a>'
                                         }
                                             return img;
                                        }  
                            }
                        ]],

                    //雙擊顯示缺陷詳情及缺陷跟蹤
                        onDblClickRow:function(rowIndex){
                              var _img = $('.tit5 ul li:eq(1)').children('.left-img').children('.box-img');
                              var _imgUrl = _img.attr('src');
                              if (_imgUrl.indexOf("check_box.png") < 0) {
                                    _img.attr("src", "static/easyui/css/images/check_box.png"); //修改圖片路徑
                                    $('#p').panel('open');
                                    $('.lpl').css('z-index','10');
                              }
                              var _img1 = $('.tit5 ul li:eq(2)').children('.left-img').children('.box-img');
                              var _imgUrl1 = _img1.attr('src');
                              if (_imgUrl1.indexOf("check_box.png") < 0) {
                                    _img1.attr("src", "static/easyui/css/images/check_box.png"); //修改圖片路徑
                                    $('#g').panel('open');
                                    $('.lpl1').css('z-index','10');
                              }

                              $("#queDg").datagrid("selectRow",rowIndex);
                              var currentRow = $("#queDg").datagrid("getSelected");
                              $("#p p").text("");
                              $("#p p").text(currentRow.description);

                              var f_id = currentRow.function_id;

                              $.ajax({
                                  type : "POST",
                                  url : ctx + "/project/getFunctionCode",
                                  dataType:"text",
                                  data : {
                                      "functionId" : f_id
                                  },
                                  success : function(data){ 
                                     $("#g p").text("");
                                     $("#g p").text(data);
                                  }
                              });


                              $("#queDg").datagrid("unselectRow", rowIndex);  
                          }
                    });
發佈了69 篇原創文章 · 獲贊 20 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章