GridView を使うことで解決したそうなので今さらながらのレスですが・・・
DataGrid を使う場合ですが、以下の MSDN ライブラリのサンプルコード(複数あるうちの一番最初のもの)を例に案を書きます。
https://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.datagrid(v=vs.110).aspx
DataGrid には一切のスタイル関係の設定をしないで以下のようにすると、
<asp:DataGrid id="ItemsGrid" runat="server">
</asp:DataGrid>
それから生成される html ソースは以下のようになります。
<table cellspacing="0" rules="all" border="1"
id="ItemsGrid" style="border-collapse:collapse;">
<tr>
<td>IntegerValue</td><td>StringValue</td><td>CurrencyValue</td>
</tr>
<tr>
<td>0</td><td>Item 0</td><td>1.23</td>
</tr>
・・・中略・・・
</table>
なので、style を定義して上記のヘッダ部の IntegerValue と StringValue の td 要素の border-width を 0 に設定すれば望むようになるはずです。例えば以下のような感じ。
<head id="Head1" runat="server">
<title>DataGrid Example</title>
<style type="text/css">
table tr:nth-child(1) td:nth-child(1)
{
border-width:0px;
}
table tr:nth-child(1) td:nth-child(2)
{
border-width:0px;
}
</style>
</head>