C# 如何控制自动生成字段gridview的列大小数量

C# 如何控制自动生成字段gridview的列大小数量,c#,asp.net,visual-studio-2010,C#,Asp.net,Visual Studio 2010,我有一个带有自动生成字段的gridivew,每当有一组新数据进入时,我都会在网格中附加数据。是否有一种方法可以设置一个有限的列(例如6),从而强制用户导航到下一页?而不是一直附加到它超级丑陋 例如: 因此,可能有等级(2012年7月12日)、等级(2013年4月4日)等等 虽然我能找到pagesize,但我找不到columnsize 编辑: 我设法在gridview的底部添加了一个滚动条。但是,具有自动生成列的网格往往有点群集化。(如果您注意到第二张图片中的“名称”列)。有人能帮忙吗 代码:

我有一个带有自动生成字段的gridivew,每当有一组新数据进入时,我都会在网格中附加数据。是否有一种方法可以设置一个有限的列(例如6),从而强制用户导航到下一页?而不是一直附加到它超级丑陋

例如:

因此,可能有等级(2012年7月12日)、等级(2013年4月4日)等等

虽然我能找到pagesize,但我找不到columnsize

编辑:

我设法在gridview的底部添加了一个滚动条。但是,具有自动生成列的网格往往有点群集化。(如果您注意到第二张图片中的“名称”列)。有人能帮忙吗

代码:



只有当我调整gridview宽度时,设计才会看起来更好。但考虑到新数据集的到来,我不想固定网格的宽度。(长期)

修改列集合
实现这一点的一种方法是将所有需要的列都放在数据源中,然后只修改
GridView
的集合。例如,您有一个添加列的按钮,您可以在其单击事件中执行此操作:

protected void Button1_Click(object sender, EventArgs e)
{
    BoundField newCol = new BoundField();
    // This string needs to be the name of the column in your datasource
    newCol.DataField = "Grade12July2012";
    // Whatever you want the column header to say
    newCol.HeaderText = "Grade(12 July 2012)";
    GridView1.Columns.Add(newCol);
    GridView1.DataBind();
}
使用可滚动的

如前所述,另一种方法是在
GridView
周围放置一个可滚动的容器。这样,您就可以在不占用太多屏幕空间的情况下拥有所有列:

<div id="gridContainer" style="width:200px; overflow:scroll; height:auto;">
    <asp:GridView ID="GridView1" runat="server">

    </asp:GridView>
</div>


您希望前三列始终可见(只需翻阅“
成绩[日期]
”列),还是希望翻阅所有列?我希望翻阅所有列,可以吗?因为这可能会持续下去。这种设计就像向左滚动,而不是有一个“固定”的位置。在这种情况下,我会用水平滚动的滚动条将表格包装在一个可滚动的容器中。我会使用一个可滚动的网格,这样应该可以工作。非常感谢是的。@HuatsinYeo没问题,很高兴我能帮上忙!
<div id="gridContainer" style="width:200px; overflow:scroll; height:auto;">
    <asp:GridView ID="GridView1" runat="server">

    </asp:GridView>
</div>