exportieren Ich verwende freie jqgrid 4.14 und ich muss die Daten des Rasters in CSV/Excel exportieren. Ich habe bereits eine Funktion gemacht, die alle Daten in CSV exportiert. Ich nehme die vom Server kommenden Daten auf und verwende diese Daten, um die CSV zu bilden. Aber hier ist das Problem, wie bekomme ich nur die gefilterten Daten aus dem Raster. Gibt es dafür eine Standardeigenschaft oder -funktion?Gefilterte Daten in CSV-Datei von jqgrid
Dies ist meine Funktion -
function convertor (gridData, scopes, ShowLabel, fileTitle,grid_header_column_value,id) {
scopes.grid_header_columns = scopes.grid_header_column_value[id];
var bg = "<button class='btnfilter' />";
for (var i = 0; i < scopes.grid_hidden_columns[id].length; i++) {
if (includes(scopes.grid_header_columns,scopes.grid_hidden_columns[id][i]) == true) {
var indexhed = scopes.grid_header_columns.indexOf(scopes.grid_hidden_columns[id][i]);
scopes.grid_header_columns.splice(indexhed, 1);
}
}
var arrData = typeof gridData != 'object' ? JSON.parse(gridData) : gridData;
var CSV = '';
if (ShowLabel) {
var row = "";
var count = 0;
if (fileTitle != "")
{
var htmltext = fileTitle.split(',');
for (var jj = 0; jj < htmltext.length; jj++)
{
var datacont = document.getElementById(htmltext[jj]);
if (datacont == undefined)
datacont = '';
else
datacont = datacont.textContent + '\r\n';
CSV += datacont;
}
}
for (var index in arrData[0]) {
var a = scopes.gridextra.indexOf(index);
if (a == -1 && scopes.grid_header_columns[count] != undefined) {
row += scopes.grid_header_columns[count].replace(bg, "") + ',';
count++;
}
}
row = row.slice(0, -1);
CSV += row + '\r\n';
}
for (var i = 0; i < arrData.length; i++) {
var row = "";
for (var index in arrData[i]) {
var a = scopes.gridextra.indexOf(index);
if (a == -1) {
if (isNaN(arrData[i][index]) == false) {
if(arrData[i][index]<0) {
if(arrData[i][index] == -2)
arrValue = '="'+"*"+'"';
else
arrValue = '="'+"N/A"+'"';
}
else
var arrValue = arrData[i][index] == null ? "" : '="' + arrData[i][index] + '"';
}
else
var arrValue = arrData[i][index] == null ? "" : '="' + arrData[i][index] + '"';
row += arrValue + ',';
}
}
row.slice(0, row.length - 1);
CSV += row + '\r\n';
}
if (CSV == '') {
growl.error("Invalid data");
return;
}
csvData = CSV;
}
danke wie immer :) – shv22
@ shv22: Gern geschehen! – Oleg
Wenn der Raster nicht gefiltert wird, bleibt der Parameter lastSelectedData leer? – shv22