목표: 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 |