如何在网格视图中显示少于n列的n列?

时间:2011-07-12 06:25:02

标签: c# asp.net gridview

我有一个ASP网格视图;其数据源是实体列表。该实体有11个属性,但我想只显示网格视图中的一些列。 我的网格视图是

<asp:GridView runat="server" ID="GridForResult"
              Caption="Update The Result for the Folloing Students"
              Visible="true" ShowHeader="false">
  <Columns>
    <asp:TemplateField ItemStyle-Width="100px">
      <ItemTemplate>
        <%#Eval("TestRoll")%>
      </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField ItemStyle-Width="120px">
      <ItemTemplate>
        <%#Eval("Name")%>
      </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField ItemStyle-Width="80px">
      <ItemTemplate>
        <%#Eval("Program")%>
      </ItemTemplate>
    </asp:TemplateField>
  </Columns>
</asp:GridView>

在我的代码隐藏页面中,我将网格绑定为:

List<FormGridEntity> gridEntities = new List<FormGridEntity>();
gridEntities = AdmissionResult_BAO.GetAllCandidateAdmissionInfo();
GridForResult.DataSource = gridEntities;
GridForResult.DataBind();
//What Will I need to do here or somewhere else

我现在该怎么办?

1 个答案:

答案 0 :(得分:1)

@ V4Vendetta没错 - 在你的GridView标记中,设置AutoGenerateColumns =“false”:

<asp:GridView runat="server" ID="GridForResult" AutoGenerateColumns="false" Caption="Update The Result for the Folloing Students" Visible="true" ShowHeader="false">

或者,如果要在标记中定义列并单独关闭它们,可以设置Visible =“false”属性:

<asp:TemplateField ItemStyle-Width="100px" Visible="false">

除非您想以编程方式打开/关闭列,否则您无需在代码隐藏中执行任何操作:

GridForResult.Columns[0].Visible = false; // Turns off the first column