【问题标题】:Set gridview column width programmatically in asp.net在 asp.net 中以编程方式设置 gridview 列宽
【发布时间】:2012-06-14 08:57:49
【问题描述】:

需要在asp.net中以编程方式设置gridview的列宽。 ** 自动生成的列(即 AutogenerateColumns = "true")。

我尝试了以下方法;

protected void gv_RowCreated(object sender, GridViewRowEventArgs e)
{
    e.Row.Cells[2].Width = Unit.Pixel(200);
}

但没用。

【问题讨论】:

  • 当我需要以编程方式设置 gridview 列宽时,我会回答我所做的事情。但我没有AutogeneratedColumns=True

标签: asp.net gridview dynamic width set


【解决方案1】:

这是我在 aspx 文件中的GridView1

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
Font-Size="Small" Width="800px" OnRowDataBound="GridView1_RowDataBound" > 

        <Columns>
                <asp:CommandField SelectText="Seç" ShowSelectButton="True"/>
        </Columns>

</asp:GridView>

这是我在代码隐藏中以编程方式设置 GridView 的列宽的地方。它实际上是关于设置单元格的宽度,但它控制列宽,所以这是一种方式。如您所见,我没有 AutogeneratedColumns="True",尽管我不要认为这很重要,因为GridView.RowDataBound 发生在数据行绑定到数据时。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{ 
     e.Row.Cells[1].Width = 1;
     e.Row.Cells[0].Width = 1;
     e.Row.Cells[4].Width = 75;
     e.Row.Cells[5].Width = 1;                
}

【讨论】:

  • 我得到 ArgumentOutOfRangeException;指定的参数超出了有效值的范围。参数名称:索引
  • 这里是代码' protected void gv_RowDataBound(object sender, GridViewRowEventArgs e) { e.Row.Cells[1].Width = 200; }'
  • 你如何将数据绑定到你的gridview?当数据绑定到你的gridview时会触发这个事件,如果你没有绑定任何数据你会得到这个异常,因为e.Row.Cells[number]将不存在.
猜你喜欢
  • 1970-01-01
  • 2014-10-05
  • 2011-06-23
  • 1970-01-01
  • 2012-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多