显示的是字段名,列名是在datagrid中的headertext设置

解决方案 »

  1.   

    那datatable中定义的列名不是没什么用吗
      

  2.   

    那datatable中定义的列名是你在代码中要引用的名称
      

  3.   

    在datatable中设置字段的列名是可以的,我就经常这么干!
      

  4.   

    先连接到数据库,执行语句时这样写
    SqlDataReader dtrSchema=cmdSelect.ExecuteReader(CommandBehavior.KeyInfo Or 
    CommandBehavior.SchemaOnly);
    DataTable dtblSchema=dtrSchema.GetSchemaTable();
    再用DataGrid控件梆定显示就可以了.
      

  5.   

    引用lxcc(虫子)的一段代码给你!
    <%@ Page Language="C#" ClassName="SimDataRpt" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.SqlClient" %>
    <script runat="server">    void Page_Load(object sender, EventArgs e) {
        
            // TODO: Update the ConnectionString and CommandText values for your application
            string ConnectionString = "server=(local);database=pubs;trusted_connection=true";
            string CommandText = "select au_lname as [Last Name], au_fname as [First Name], Address, City, State from Authors";
        
            SqlConnection myConnection = new SqlConnection(ConnectionString);
            SqlCommand myCommand = new SqlCommand(CommandText, myConnection);
        
            myConnection.Open();
        
            DataGrid1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
            DataGrid1.DataBind();
        }</script>
    <html>
    <head>
    </head>
    <body style="FONT-FAMILY: arial">
        <h2>Simple Data Report 
        </h2>
        <hr size="1" />
        <form runat="server">
            <asp:datagrid id="DataGrid1" runat="server" CellSpacing="1" GridLines="None" CellPadding="3" BackColor="White" ForeColor="Black" EnableViewState="False" Width="262px">
                <HeaderStyle font-bold="True" forecolor="White" backcolor="#4A3C8C"></HeaderStyle>
                <ItemStyle backcolor="#DEDFDE"></ItemStyle>
            </asp:datagrid>
        </form>
    </body>
    </html>
      

  6.   

    我的意思是
    mydatatable.Columns[0].ColumnName 设置的是数据库字段名
    mydatatable.Columns[0].Caption   设置的是显示的名称但设置的显示名称如何自动绑定到datagrid中
    我用datagrid的SetDataBinding只会显示数据库的字段名,而不是显示名称
      

  7.   

    不知道是不是没有去掉“在运行时自动创建列”的属性,<asp:DataGrid  AutoGenerateColumns="False"
      

  8.   

    可以这样写:
    <asp:DataGrid ID="dg1" Runat="server"  AutoGenerateColumns="False" AllowPaging="True" PageSize="10">
      <Columns>
        <asp:BoundColumn HeaderText="显示名称" DataField="数据库字段名"/>
    </Columns>
    </asp:DataGrid>