나는 이미 연구를했으며, 사용자 정의 포매터 또는 편집기를 만드는 방법과 사용법을 알고 있습니다. 제 문제는 설정하거나 포맷터를 사용할 수 없다는 것입니다. 내 구조 :SlickGrid에서 포맷터를 설정하려면 어떻게해야합니까?
JQuery와는 다음과 같습니다
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="jquery.event.drag-2.2.js"></script>
<script type="text/javascript" src="slick.core.js"></script>
<script type="text/javascript" src="slick.editors.js"></script>
<script type="text/javascript" src="slick.formatters.js"></script>
<script type="text/javascript" src="slick.grid.js"></script>
모든 위의 편집되지 않은 것입니다.
var grid; var cols; var rows; var options = {
enableCellNavigation: true,
enableColumnReorder: false,
forceFitColumns: true
};
*rows and cols come from server side via JSON.parse*
grid = new Slick.Grid("#results", rows, cols, options);
서버에서 오는 행과 COLS 변수를 채우는 코드는, 기본적으로 이것이다 : 코드 그리드를 구현하는 그림 열 그렇게되면
cols:
echo json_encode('[
{"id":"price", "name":"Ár", "field":"price"},
{"id":"location", "name":"Elhelyezkedés", "field":"location"},
{"id":"egyeb", "name":"Lófasz", "field":"egyeb"},
{"id":"pic", "name":"Képek", "field":"pic", "formatter":"Slick.Formatters.PercentComplete"}
]');
rows:
echo json_encode('[
{"price": "5", "location":"AlsóBélaCsecselény", "egyeb":"lófasz", "pic":"1", "link":"ezittahelye"},
{"price": "6", "location":"qrsóBéqrcselény", "egyeb":"lófasz", "pic":"2", "link":"ezittahelye"},
{"price": "7", "location":"AlsóBélaqwqwrelény", "egyeb":"lófasz", "pic":"3", "link":"ezittahelye"},
{"price": "8", "location":"qwrCsecselény", "egyeb":"lófasz", "pic":"4", "link":"ezittahelye"}
]');
모든 것이 잘 작동 포매터가 없는데 그리드는 실수로 "formatter"태그 (예 : "fformatter"또는 기타)와 같은 열에 대한 추가 속성으로 작동하지만
하지만 자바 스크립트는 매번 다음 오류를 제공합니다. JSON 코드 h
catch되지 않은 예외 : 형식 오류 :는 "포맷"속성으로 'getFormatter (행, m은)'기능
나는 테이블을로드 할 때마다 빌어 먹을 시간 포맷터 엉망 모든 것을 내가 돈없는 다음에해야 할 일을 알지 못한다! 내가 버그를 다시 추적하려고하고 slick.grid.js의 소스 코드의 1124 라인에 저를 이끌어,이 기능은 어떻게 든 return 문에 모든 것을 ..
function getFormatter(row, column) {
var rowMetadata = data.getItemMetadata && data.getItemMetadata(row);
// look up by id, then index
var columnOverrides = rowMetadata &&
rowMetadata.columns &&
(rowMetadata.columns[column.id] || rowMetadata.columns[getColumnIndex(column.id)]);
return (columnOverrides && columnOverrides.formatter) ||
(rowMetadata && rowMetadata.formatter) ||
column.formatter ||
(options.formatterFactory && options.formatterFactory.getFormatter(column)) ||
options.defaultFormatter;
}
어떤 도움이 될 것이다 나누기 고맙다!
편집 :
$.post("queries.php?event=search&&phase=columns", $("#full_search").serialize(), function(data){
cols = JSON.parse(data);
alert(cols[1].id);
$.post("queries.php?event=search&&phase=rows", $("#full_search").serialize(), function(data){
rows = JSON.parse(data);
alert(rows[1].link);
grid = new Slick.Grid("#results", rows, cols, options);
alert(grid.getData().length);
return false;
},"json");
return false;
},"json");
},"json");
포스트 콜을 통해 JSON을 얻는 방법을 보여주는 포스트를 편집했습니다. 이 주위에 어떤 방법이 있습니까? "Slick.Formatters.PercentComplete"에서 아포스트로피를 삭제하면 구멍 스크립트가 JSON.parse 줄에서 중단됩니다. –
"formatter"를 "Slick.Formatters.PercentComplete"에서 "formatter"로 변경하십시오. Slick.Formatters.PercentComplete. – Tin
그러면 구멍 스크립트가 JSON.parse 줄에서 깨질 것입니다.이 문제를 해결할 방법이 있습니까? 게시물 요청을 통해 JSON 코드를 어떻게 보내야하는지 모르겠습니다. –