Is simply setting the width not working for you?
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="ID" DataSourceID="SqlDataSource1" Width="100%">
This should stretch the gridview to fill the viewport, unless the gridview is inside a container which is set to a smaller width. In that case, it would only stretch to fit the container.