dimanche 3 janvier 2021

JavaScript Grid copy as String

I am having little problem on JavaScript. What I am doing is copying data from a grid and pasting into another. I was able to access the value from the cell, but problem comes as I try to format those value to string. my code:

var colseperator = '~';
var rowseperator = '    ';

var clipStr = "";
if(selecttype = "area")
{
    for (var i = startrow; i <= endrow; i++) 
    {
        for (var j = startcol; j <= endcol; j++)
        {
            var cellValue = objGrid.getCellValue(i,j);
            if(this.gfn_isNull(cellValue))
            {
                cellValue = "Null";
            }
            clipStr = clipStr + cellValue;
            if(j != endcol)
            {
                clipStr = clipStr + colseperator;
            }
        }
        if(i != endrow)
        {
            clipStr = clipStr + rowseperator;
        }
    }
}

From code above, my intention is copy the data into string format and separate each data with separator(in my case '~' for columns and 'indent' for rows). However, when I select one column(multi rows) and copy it, it would add column separators to all the rows. I was thinking that if(j != endcol){clipStr = clipStr + colseperator;} would stop it from adding unnecessary separator. Am I doing something wrong here? And any tips on iterating the selected grid cells or formatting string?

example: When I select those three lines,

row data
1 a
2 b
3 c

Output:

a~  b~  c~

My expected output:

a   b   c

Aucun commentaire:

Enregistrer un commentaire