2009-08-25 4 views
0

글쎄, 난 jQuery에 대한 jqGrid 플러그인에 대한 떨어지고있어 ASP.NET MVC 응용 프로그램에 통합하려고. 트랩 주변의 다양한 블로그 게시물 덕분에 기본 funcitonality가 작동했습니다.jqGrid와 ASP.NET MVC 양식 편집 - 선택 옵션에 대한 컨트롤러 작업

내가 지금 운동하려고하는 방법은 편집 양식에서 선택 옵션을 채우는 방식으로 컨트롤러에서 데이터를 반환하는 방법입니다.

나는 jqGrid에 옵션을 다시 가져 오기 위해 URL을 제공해야한다는 것을 알고있다. 그러나 나에게서 나에게는이 컨트롤러를 렌더링하는 방법을 생각할 수 없다.

예를 들어, 선택 목록 값은 "1 : 1; 2 : 2"로 하드 코드 될 수 있습니다. 단지 json 객체를 그 형식으로 반환해야합니까? 또는 문자열?

도움을 주시면 감사하겠습니다.

답변

0

아차 ... 본적이 없다면이 게시물은 내가 알아 내려고했다 가졌다 주요 문제가 넣어 형태를 어떻게 반환, 당신을 도울해야한다고 생각 컨트롤러 동작. 결국 그것은 너무 단순해서 나무를 볼 수있는 나무를 볼 수 없었습니다. 나는 Controller 액션에서 간단한 문자열 출력으로 끝났다.

public string ObjectList() 
{ 
    // replace this with the code to construct your list values 
    return "1:one;2:two"; 
} 

그래서 나는 그것을 놓쳤다는 것을 인정하기가 쉽지 않다.

1

dynamicaly를 채우려면 선택 드롭 다운 목록에서 jqgrid 생성 바로 위에 변수를 만듭니다.

var countries = $.ajax(
         {url:'/Specimens/GetAreaStrList/',async: false, 
      success: function(data, result) 
      { 
       if (!result) 
       alert('Failure to retrieve the Countries.'); 
       } 
      } 
      ).responseText; 

그리고 당신은 그리드를 채울 컨트롤러에서

 {name:'AreaID', index:'AreaID', width:150, align:'left', editable:true, 
         edittype:"select",editoptions:{size: 71} } 
       ], 
     onSelectRow: function(id) 
     { 
      if(id && id !== lastsel2) 
      { 
       jQuery('#list').restoreRow(lastsel2); 
       jQuery('#list').editRow(id, true); 
       lastsel2 = id; 
      } 
     }, 
     loadComplete: function() 
     { 
     jQuery('#list').setColProp('AreaID', {editoptions: {value: countries}}); 
     }, 

그리고 코드 :

공공 ActionResult GetAreaStrList() { 반환 내용 ("171 : 사람 Russian Federation; 86 : 다른 국가"); }

나는이 블로그에서 영감되었습니다 http://geekswithblogs.net/renso/archive/2009/07/02/jqgrid-dynamically-loading-select-options.aspx