Try the below code to call your SP. Then you can easily bind the result set to your gridview. Just do a gv.DataSource = DataSet and then gv.Bind()
SqlConnection lSQLConn = null;
SqlCommand lSQLCmd = new SqlCommand();
SqlDataAdapter lDA = new SqlDataAdapter();
DataSet lDS = new DataSet();
lSQLConn = new SqlConnection(connStr);
lSQLConn.Open();
lSQLCmd.CommandType = CommandType.StoredProcedure;
lSQLCmd.CommandText = "sp_YourSPName";
lSQLCmd.Parameters.Add(new SqlParameter("@Parm1", aParm1));
lSQLCmd.Parameters.Add(new SqlParameter("@Parm2", aParm2));
lSQLCmd.Parameters.Add(new SqlParameter("@Parm3", aParm3));
lSQLCmd.Parameters.Add(new SqlParameter("@Parm4", aParm4));
lSQLCmd.Connection = lSQLConn;
lDA.SelectCommand = lSQLCmd;
lDA.Fill(lDS);
To see a full explanation go to:
Executing a Stored Procedure from a WCF Service Method C#