easyui - editing datagrid 대량 저장 데이터 2

4434 단어 easyui
이어서 위의 블 로 그 는 우리 의 대량 저장 을 계속 했다.
      
    데이터 grid 의 데 이 터 를 업데이트 하기 위해 updaterow 를 사 용 했 을 때 데 이 터 를 어떻게 얻 었 는 지, 여기 서 는 편리 한 getchanges 를 사용 할 수 없습니다. 한 길 만 돌아 갈 수 있 습 니 다. 우 리 는 이 슈 이의 getRows 를 통 해 데이터 grid 의 모든 데 이 터 를 얻 는 방법 을 선택 하 였 습 니 다.
  두 번 째 -- getRows
      해결 방안 은 데이터 grid 의 모든 데 이 터 를 가 져 와 제 이 슨 의 형식 으로 전달 하 는 것 이다.
    datagrid 의 줄 수 를 어떻게 얻 습 니까: getRows, json: JSON. stringify ("* *") 로 변환 합 니 다.   
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;">//save all the dada from easyuiDatagrid
function updateDatagrid(num)
{
	var rows = $('#dg').datagrid('getRows');
	var entities = "";</span></span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;">//    datagrid       ,       Entities ,     json  </span></span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;">//                。
	for(i = 0;i < rows.length;i++)
	{
	   entities = entities  + JSON.stringify(rows[i]);	
	}
	$.ajax({
             url: getRootPath()+'/labour/update.do',
             type: "post",
             async: true,
             dataType: 'json',
             data: {'entities': entities}
             success: function (data) {
            	 if(data.message=="    !"){
						alert(data.message);
					}else{
						alert(data.message);
						return;
					}
                 $('#dg').datagrid('reload');
             }
           });
   
	}</span></span>

     배경 수신: 여기 서 사용 하 는 json 해석 도 구 는 net. sf. json 입 니 다.주로 jsonarray 와 jsonobject 를 사용 하 는데 말 그대로 하 나 는 데이터 / 집합 을 담당 하 는 것 이 고 하 나 는 하나의 대상 을 담당 하 는 것 이다.여기 서 우리 가 분석 하고 자 하 는 것 은 배열 이기 때문에 jonsaray 의 tocollection 방법 을 사용 합 니 다. jsonarray 는 다른 방법 도 많 습 니 다. 관심 있 는 것 은 볼 수 있 습 니 다.
   구체 적 인 코드 는 다음 과 같다.
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;">	import net.sf.json.JSONArray;
	import net.sf.json.JSONObject;<span>	</span></span><pre name="code" class="java"><span>	@Override</span></span>

@RequestMapping("update.do") @ResponseBody
 
 
<span style="font-family:KaiTi_GB2312;font-size:18px;"></pre><pre name="code" class="java"></span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"></pre><pre name="code" class="java"></span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;"><span>	</span>public String update(HttpServletRequest request) {
		//1、 get the detail data
		String ens = request.getParameter("entities");
		
		// 2、format the string
		ens = ens.replace("}{", "},{");
		ens = "[" + ens.toString() + "]";</span></span>
<span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;"><span>		</span>// 3. <span style="font-family: Arial, Helvetica, sans-serif;">transform to the object list</span>
		JSONArray array =JSONArray.fromObject(ens.toString());
		@SuppressWarnings("unchecked")
		List<JobContentDetail> listDetail=(List<JobContentDetail>)JSONArray.toCollection(array, JobContentDetail.class);
		try {
			labourservice.saveData(listDetail);
		} catch (Exception e) {
			e.printStackTrace();
			return createErrorMessage("    !").toString();
		}
		return createSuccessMessage("    !").toString();
	}</span></span>

     셋째, 소감 사용
     편집 하면 서 저장 하 는 것 도 좋 습 니 다.먼저 편집 하고 대량으로 저장 하 는 것 도 좋 습 니 다. 그들의 해결 방안 은 모두 같 습 니 다. easyui 의 datagrid (물론 combobox) 의 수신 데이터 형식 은 json 이기 때문에 우 리 는 프론트 에 표 시 된 json 데 이 터 를 받 을 수 있 으 면 모든 것 이 해결 되 고 프론트 데스크 에서 백 스테이지 로 전달 되 며 URL 이 맞 으 면 모든 것 이 순조롭게 이 루어 집 니 다.

좋은 웹페이지 즐겨찾기