Hi
I have 120 rows in grid if i am selecting rows 3,4,5 is there any way to get the values of selected rows to an array. if i can get this in a array i will remove all image tags in it & reconstruct the array with only cell values
EG:- If i copy to clipboard i get it like this
<A onclick=javascript:NewWin()>
<IMG src=‘file:///P:/WORKS/NEHI/TestGrid/Images/dyn_down.gif’>
</A>
George Micheal,Album Name,123.456.7890,
<A href=‘mailto:george@george.com’>george@george.com</A>
I want to change it to like
George Micheal Album Name 123.456.7890 george@george.com
Thanks for your time
Cathy
There is no native method to get values as an array, but can be done as
var ids = grid.getSelectedRowId().split(",");
var values=[]
for (var i=0; i<ids.length; i++)
values.push( grid.cells(ids[i],INDEX).getValue());
// values.push( grid.cells(ids[i],INDEX).getValue().toString().replace(/<[^>]*>/g,""));
where INDEX - index of column, from which data need to be taken
Hi
This one not at all working when i try this in tree grid i am getting 2 errors
1) “mygrid.getSelectedRowId() is null or not an object"
2) still in clipboard its coming as
George Micheal,Album Name,123.456.7890,<A href=‘mailto:george@george.com’>george@george.com
i have row ids for all rows but in some rows there are no album name is that a issue.
here is my code please correct me if i am wrong
function onKeyPressed(code,ctrl,shift)
{
if(code==67&&ctrl)
{
var ids = mygrid.getSelectedRowId().split(”,");
var values=[]
for (var i=0; i<ids.length; i++)
values.push( mygrid.cells(ids[i],0).getValue());
mygrid.copyBlockToClipboard();
}
if(code==86&&ctrl)
{
mygrid.pasteBlockFromClipboard();
}
return true;
}
In case of mygrid.copyBlockToClipboard(); you can try next code
if(code==67&&ctrl)
{
mygrid.copyBlockToClipboard();
var text = mygrid.fromClipBoard();
text = text.replace(/<[^>]*>/g,"")
mygrid.toClipBoard(text);
}
nice its working
is there any way to get number of multiple columns selected instead of 1
You can run the same code snippet few times, with different INDEX values
Hi
Is there any way to do the following
1) get the number of rows selected
2) get the number of columns selected
so i can run a loop to get the values later i can concatenate everything
- get the number of rows selected
>>2) get the number of columns selected
You can get details about block selection as
grid._selectionArea.LeftTopRow
grid._selectionArea.LeftTopCol
grid._selectionArea.RightBottomRow
grid._selectionArea.RightBottomCol
Hi thanks for your reply now its working fine with the following code am pasting it here so it may be useful to someone in future. i have one more doubt suppose if there are any blank columns or if i want to skip any row dynamically how should i do
here is my code
function onKeyPressed(code,ctrl,shift)
{
if(ctrl&&code==67)
{
var RowStart = mygrid._selectionArea.LeftTopRow;
var RowEnd = mygrid._selectionArea.RightBottomRow;
var ColStart = mygrid._selectionArea.LeftTopCol;
var ColEnd = mygrid._selectionArea.RightBottomCol;
var values=[];
for(var RowCnt=RowStart; RowCnt <=RowEnd; RowCnt++)
{
for(var ColCnt=ColStart; ColCnt <=ColEnd; ColCnt++)
{
values.push(mygrid.cells2(RowCnt,ColCnt).getValue().toString().replace(/<[^>]*>/g,"")); mygrid.toClipBoard(values.join(","))
}
}
}
if(ctrl&&code==86)
{
mygrid.pasteBlockFromClipboard();
}
return true;
}