Ok I figured out something which works, could someone let me know of any other ways?? //This event fires whenever a new row has been created. private void table_RowChanged(object sender, DataRowChangeEventArgs e) { lastRow++; } //Checks if cell selected is in a previous row, then sets current row to last orw. private void datagrid_CurrentCellChanged(object sender, System.EventArgs e) { if( datagrid.CurrentCell.RowNumber != lastRow ) { datagrid.CurrentRowIndex = lastRow; } } :-D:-D:-D:-D:-D