Hi!
I need to allow copy/paste of a row in a wingrid. The problem is that I have 2 cells that are read-only. So when I paste the row, I received an error asking me to continue to copy in the read-only cell or cancel. If I click OK then everything works fine. My question is How can I deactivate this message to always paste (with copy cell content in read-only cells) without warnings and message boxes ?
I looked in the WinGrid Error event and found MultiCellOperationErrorInfo object, but I didn't find the way to correct this behavior.
Best regards,
Benoit
Hi Mike,
Thank you very much. It's resolved my issue.
Regards,
Venkat.
Hi Venkat,
It sounds to me like you just need to shift the code around a little:
private void ultraGrid1_Error(object sender, Infragistics.Win.UltraWinGrid.ErrorEventArgs e) { if (e.ErrorType == ErrorType.MultiCellOperation) { if (e.MultiCellOperationErrorInfo.Operation == MultiCellOperation.Paste) { if (e.MultiCellOperationErrorInfo.CanContinueWithRemainingCells) e.MultiCellOperationErrorInfo.Action = MultiCellOperationErrorInfo.ErrorAction.Continue; e.Cancel = true; } } }
I checked for why CanContinueWithRemainingCells is false. It's because, from the cell I pasted the last cell is null. So when it come to the Error event for the last cell, CanContinueWithRemainingCells is false because there are no more cells to continue. So it is set to false for the last cell.
I pasted few cells with the last cell not null, then I didn't get the error message one time also.
Is there a way to find that the event is raised for the last cell?
Thanks,
Thanks for your reply.
I debugged the Error event. e.Cancel is not set to true because of
e.MultiCellOperationErrorInfo.CanContinueWithRemainingCells is false in once case.
So it's not going inside that if block and not setting e.Cancel to true.
Could you please let me know, how can I override this value? or Is there any alternative solution for this?
Thanks in Advance.
If you are seeing the error message, then the code must not be getting hit once and therefore the Cancel property is never set to true.
Put a breakpoint in the error event and see what's happening and why it's going through the code without setting e.Cancel. Maybe the 'if' block above is not catching every case you need.