dr["DataColumn1"] can handle different types of data, to do that its type set to object (after all everything is an object).
However object do not implement the operator of += as this is a common type and += operator can be very different for different actual types (imagine 1+1 and '1'+'1')...
What you can do is convert dr["DataColumn1"] to it's expected type and than apply += operator:
int n = Convert.ToInt32(dr["DataColumn1"]);
dr["DataColumn1"] = n + Convert.ToInt32(dtshort.Rows[0][0]);