Problem solved by using temporary table we can change datagridview cells value.
public DataTable searchAgrSps()
{
string query = "";
DataTable dt = new DataTable();
SqlCommand cmd = con.CreateCommand();
query = "select Id, Spec, '' as Year, convert(money, '')Money, convert(money,'')MNine, convert(money,'')Corresp, convert(money,'')SecEduc into result from special";
query += " select Id, Spec, Year, Money, MNine, Corresp, SecEduc from result";
query += " drop table result";
cmd.CommandText = query;
con.Open();
try
{
dt.Load(cmd.ExecuteReader());
}
catch { };
con.Close();
return dt;
}