2014-01-21 5 views
0

모델 백 필드로 Backgrid를 필터링해야합니다. 내가 "전체 이름"으로 필터를 설정하려고,모델의 하위 필드로 필터링

{name: 'fullname', label: 'Nombre completo', cell: Backgrid.StringCell.extend({ 
     render: function(){ 
      var user = this.model.get('iduser'); 
      var fullname = user.apellido + ", " + user.nombre; 
      this.$el.html(fullname); 
      return this; 
     } 
}), editable: false, sortable: true} 

을 이제 :

[{"iduser": 
    {"iduser":1224,"apellido":"Agostini","nombre":"Juan Ignacio","dni":47121281} 
    }, 
    {"iduser": 
    {"iduser":1225,"apellido":"Alvarez","nombre":"Pedro","dni":4712312} 
    }] 

그래서, 내가 다음 사용자와 사용자의 전체 이름 렌더링 StringCell 보여 나는 서버에서 다음 JSON 문자열을 그러나 작동하지 않습니다. 어떤 아이디어?

답변

-1

기본적으로 각 Backgrid 열 이름은 실제 Model 특성 이름과 일치하며 정렬은 모든 모델에서 해당 특성 값을 정렬합니다. 귀하의 경우에는 "fullname"이라는 Model 속성이 없지만 sortValue 열 속성을 정의하여이를 추정 할 수 있습니다.

var columns = [{ 
    name: "fullname", 
    label: "Nombre completo", 
    cell: MyStringCell, 
    editable: false, 
    sortable: true, 
    sortValue: function (model, colName) { 
    var user = model.get("iduser"); 
    return user.apellido + ', ' + user.nombre; 
    } 
}] 
+0

sortValue는 정렬에 사용됩니다. 필터링이란 필터 확장으로 검색하는 것을 의미합니까? –

+0

"필터"가 필요한 경우 왜 "sortValue"로 답장 하시겠습니까 ??? 너 괜찮 니? – ramiromd

관련 문제