Hello,
i have a problem with my export from dthmlxgrid to csv. The result of the export is like that :
head_col1;head_col2;head_col3;head_col4;head_col5 val1_col1;val1_col2;val1_col3;val1_col4;va1_col5 val2_col1;val2_col2;…
all the export is in one line, and there is a space between “lines” whereas it should be a carriage return.
I expected something like that :
head_col1;head_col2;head_col3;head_col4;head_col5;
val_col1;val_col2;val_col3;val_col4;val_col5;
val2_col1;val2_col2;…
The code i’m using is :
function exportMonTableau()
{
monTableau.setCSVDelimiter(";");
monTableau.enableCSVHeader(true);
var contenu = monTableau.serializeToCSV();
document.getElementById(‘contenu’).innerHTML = contenu;
document.getElementById(‘FmFormulaire’).submit();
}
contenu is a textarea.
Did i forget a parameter ?
To display contenu string correctly in the textarea you should replace blank space to the carriage return symbol ("\n"):
function exportMonTableau()
{
monTableau.setCSVDelimiter(";");
monTableau.enableCSVHeader(true);
var contenu = monTableau.serializeToCSV();
document.getElementById(‘contenu’).innerHTML = contenu.replace(/ /g,"\n");
document.getElementById(‘FmFormulaire’).submit();
}
I cannot do that, cell’s values can contain spaces.
Try to change your code like that:
function exportMonTableau()
{
monTableau.setCSVDelimiter(";");
monTableau.enableCSVHeader(true);
monTableau.csv.row="\n";
var contenu = monTableau.serializeToCSV();
document.getElementById(‘contenu’).innerHTML = contenu;
document.getElementById(‘FmFormulaire’).submit();
}
Surprise ! monTableau.csv.row is already equals to ‘\n’./ I didn’t know that.
Maybe the problem occurs because i put the csv into a textarea. Keep it spaces and carriage return ?..
I continue to search.
Shame on me…
function exportMonTableau()
{
monTableau.setCSVDelimiter(";");
monTableau.enableCSVHeader(true);
var contenu = monTableau.serializeToCSV();
document.getElementById(‘contenu’).value = contenu;
<-- .value not .innerHTML
document.getElementById(‘FmFormulaire’).submit();
}
T_T