Asp.net GridView中的AutoGenerateColumns属性

Asp.net GridView中的AutoGenerateColumns属性,asp.net,Asp.net,想知道AutoGenerateColumns属性在GridView的后台是如何工作的。假设我们要使用InlineExpression将GridView中TemplateField的HeaderText属性指定给GridView的已分配数据源属性中的列名。怎么做 例如: <asp:GridView ID="TempGridView" runat="server" DataSourceID="XmlDataSource1" AutoGenerateColumns="false" >

想知道AutoGenerateColumns属性在GridView的后台是如何工作的。假设我们要使用InlineExpression将GridView中TemplateFieldHeaderText属性指定给GridView的已分配数据源属性中的列名。怎么做

例如:

    <asp:GridView ID="TempGridView" runat="server" DataSourceID="XmlDataSource1" AutoGenerateColumns="false" >
 <Columns>
 <asp:TemplateField HeaderText="{Inline Expression to Get column Name from DataSource}"> 
</asp:TemplateField>
 </Columns>
 </asp:GridView>


提前感谢。

AutoGenerateColumns只需在数据源中查找实体的所有公共属性,它将使用属性名称作为标题文本和项上的值

<asp:GridView ID="MyGrid" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField>
            <HeaderTemplate>
                HeaderTextForName
            </HeaderTemplate>
            <ItemTemplate>
                <%# Eval("Name")%>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

HeaderTextForName

在将AutoGenerateColums属性设置为false后,我们将如何使用内联表达式执行此操作。在TemplateField中包含HeaderText属性还不够吗,您需要本地化还是什么?需要知道如何使用内联表达式从TemplateField的datasource to HeaderText属性检索列名。为什么需要从datasource获取列名,只需随意命名即可?或者,如果网格应该是动态的,那么就不要使用模板,也不要创建具有UI绑定到的必需公共属性的类。学习如何使用内联表达式来实现