on the Databound event of the grid
protected void gridview1_DataBound(object sender, EventArgs e)
{
GridView cgvtmp = (GridView)sender;
cgvtmp.Columns[x].visible = false;
}
where x is the column you wish to hide
[edit] sorry misread the question, you want to display only those rows that are in ds and not in ds1?
then set a flag in the sql
in the RowDatabound event check if the current row is flagged, if it is then hide that row
protected void gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
}
}