일부 행이 필터 (DataView)에 의해 숨겨진 슬릭 그리드가 있습니다.slickgrid에서 선택된 행의 데이터를 가져옵니다.
그리드의 getSelectedRows 메소드를 호출 할 때 시각적으로 선택된 행의 인덱스를 얻습니다. 하지만 선택한 행의 실제 데이터가 필요합니다.
일부 행이 필터 (DataView)에 의해 숨겨진 슬릭 그리드가 있습니다.slickgrid에서 선택된 행의 데이터를 가져옵니다.
그리드의 getSelectedRows 메소드를 호출 할 때 시각적으로 선택된 행의 인덱스를 얻습니다. 하지만 선택한 행의 실제 데이터가 필요합니다.
는이 같은 일을 수행해야합니다
var selectedData = [],
selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_grid.getData()[value]);
});
을 지금 selectedData 변수가 선택한 행에 대한 데이터를 포함합니다.
그 포크에 따라 일치하지 않는 것으로 보이기 때문에 또한, 대신 그리드 개체에서 GetData의()를 사용하는을 dataView에서 데이터를 가져 오도록 .each 루프에서이 줄을 사용할 수 있습니다:
var selectedData = [],
selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_dataView.getItemById(value));
});
실수가 있습니다. "getData"가 아닌 "getDataItem"이어야합니다.
var selectedData = [],enter code here`selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_grid.getDataItem(value));
});
제공되는 @matma 솔루션은 DataView를 사용하지 않는 경우 잘 작동합니다. 그것은 정말로 실수가 아닙니다. 귀하의 솔루션은 아마도 더 효과적 일 것입니다. – idbehold
다른 컨트롤에서 액세스하는 경우. 버튼
var selectRow = gridInstance.getSelectedRows();
alert(gridInstance.getDataItem(selectRow).columnName)
hObjMarcado = (grid.getSelectedRows());
for(var a_id in hObjMarcado) {
vres.push(dataview.getItem(hObjMarcado[a_id]));
//la opcion getItem obtiene el elemento especifico,
//aun con filtro.
}
return vres;
영어로 글쓰기를 시도하십시오. – Leeor
아, grid.getData, 즉 내가 찾던 방법이었다 클릭합니다. 하지만 grid.getData [value]가 작동하지 않았습니다. grid.getData(). getItem (value)을 사용해야했습니다. – Preli
죄송합니다. Andrew Child의 포크 (https://github.com/andrewchilds/SlickGrid)를 사용합니다.이 코드는 잘 작동합니다. – matma
'grid.getData() [value]'와'grid.getData(). getItem (value)'의 차이점은 그리드에서의 저장에 사용 된 타입과 관련이 있다고 생각합니다 : 전자는 배열을, 후자는 Slick .DataView. 나는 짐작하고있다. 나는 완전히 틀릴 수도 있지만 그것을 시도해보십시오. –