본문 바로가기

GoLang

JqGrid post

목표: jqGrid 틀에 post로 데이터 요청후 값 보여주기

 

그리드 데이터 출력 html

<table class="web0200_left_grid" id="web0200_left_grid"></table>
<div id="gridpager_6"></div>

조회 폼

<div class="ems-form-srch-wrap">
<input type="text" class="ems-input-text w70" placeholder="검색어를 입력하세요." id="powerPlantName">
<button class="ems-btn yellow lg" id="search">조회</button>
</div>

 

js

$("#search").on("click", function () {
  var powerPlantName = $("#powerPlantName").val();
  var powerPlantType = getPowerplantCheckBox();
  var powerPlantCapacity = getpowerPlantCapacityCheckBox();

  var inputdata = {
    PowerPlantName: powerPlantName,
    PowerPlantType: powerPlantType,
    PowerPlantCapacity: powerPlantCapacity,
  };
  //초기화
  $(".web0200_left_grid").jqGrid("clearGridData", true);
  
  //업데이트
  $(".web0200_left_grid")
    .setGridParam({
    //json형식으로 html의 form값 전달
      datatype: "json",
      postData: inputdata,
      loadComplete: function (data) {
        console.log(data);
      },
    })
    .trigger("reloadGrid");
});
$(".web0200_left_grid").jqGrid({
  height: 370,
  rownumbers: true,
  multiselect: true,
  autowidth: true,
  //해당 url로 json데이터 가져오기
  url: "/powerplant_viewPowerPlant",
  mtype: "POST",
  colNames: ["발전소명", "타입", "운영", "지역", "용량"],

  colModel: [
    {
      name: "PowerPlantName",
      index: "PowerPlantName",
      width: "290px",
      align: "center",
      hidden: false,
    },

    {
      name: "PowerPlantType",
      index: "PowerPlantType",
      align: "center",
      hidden: false,
    },

    {
      name: "PowerPlantStatus",
      index: "PowerPlantStatus",
      align: "center",
      hidden: false,
    },

    {
      name: "PowerPlantCountry",
      index: "PowerPlantCountry",
      align: "center",
      hidden: false,
    },

    {
      name: "PowerPlantCapacity",
      index: "PowerPlantCapacity",
      align: "center",
      hidden: false,
    },
  ],

  loadtext: "로딩중일때 표시되는 텍스트!",
  caption: "test",

  pager: "#gridpager_6",
  rowNum: 6,
});

 

powerplant_viewPowerPlant 호출시 json을 반환하는 핸들러

func PowerPlantHandler(c *gin.Context) {
	c.Header("Content-Type", "application/json charset=utf-8")

	//reqjson struct지정
	var reqjson PowerPlantInfo
	//Json Binding
	c.Bind(&reqjson)

	url := "http://localhost/powerPlant/"
	powerplant_name := reqjson.PowerPlantName
	powerplant_type := reqjson.PowerPlantType
	powerplant_capacity := reqjson.PowerPlantCapacity

	url = url + powerplant_name + "/" + powerplant_type + "/" + powerplant_capacity

	//Get통신

	data := GetCall(url)

	//resjson struct지정
	var resjson []PowerPlantInfo

	//json Unmarshal
	json.Unmarshal([]byte(data), &resjson)

	//return JSON
	c.JSON(200, resjson)

}

 

'GoLang' 카테고리의 다른 글

GIN Ajax table 조작  (0) 2020.11.25
GIN Ajax로 값 전달하기  (0) 2020.11.22
GIN 동적 그래프 그리기  (0) 2020.11.20
GIN 그래프 그리기  (0) 2020.11.19
GIN MongoDB Test  (0) 2020.11.17