在DataGrid的属性里面设置不要自动生成列就可以了亚。
<asp:DataGrid id="MyGrid" Runat="server" AutoGenerateColumns="False">
  <Columns>
    <asp:TemplateColumn>
    <HeaderTemplate>
    这里写你想要得列的头名称
    </HeaderTemplate>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "字段名称")%>
    (这里放对应的字段,修改字段名称就可以了)
    <ItemTemplate>
    </asp:TemplateColumn>
    ......(然后循环使用<asp:TemplateColumn>)
    <asp:TemplateColumn>
    ......
    </asp:TemplateColumn>
  </Columns>
</asp:DataGrid>DataGrid的显示直接在aspx里面做就行了,不用ItemDataBind事件

解决方案 »

  1.   

    在ItemDataBound中:
    if (e.Item.ItemType == ListItemType.Header)
    {
      e.Item.Cells[0].Text = "Header Text";
    }
      

  2.   

    自己写表格的输出事件,
    不需要显示的列根本就不创建
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  3.   

    icyer这为仁兄,你的方法对了,谢谢