You can try handling this in the ClipboardPaste event.
private void gridControl1_ClipboardPaste(object sender, GridCutPasteEventArgs e)
{
DataObject data = (DataObject)Clipboard.GetDataObject();
string[] rows = null;
int numRows = 0;
int numCols = 0;
//get the size of the paste
if(data.GetDataPresent(DataFormats.Text))
{
string s = (string)data.GetData(DataFormats.Text);
rows = s.Split(new char[]{''''});
numRows = rows.GetLength(0);
if(numRows > 0 && rows[numRows - 1].Length == 0)
numRows--; //remove extra empty row if present
if(numRows > 0)
{
string[] cols = rows[0].Split(new char[]{''\t''});
numCols = cols.GetLength(0);
}
}
//paste one to many
if(numRows == 1 && numCols == 1 && !this.gridControl1.Selections.Ranges.ActiveRange.IsEmpty)
{
this.gridControl1.ChangeCells(this.gridControl1.Selections.Ranges.ActiveRange,
rows[0]);
e.Handled = true;
e.Result = true;
}
}