Gridview AutoGenerateColumns属性

时间:2023-03-09 14:25:44
Gridview AutoGenerateColumns属性

第一篇随笔,以后会陆续的把刚开始工作时的知识点都记录下来,毕竟现在用WebForm的不多了~

AutoGenerateColumns

MSDN 说明 : 获取或设置一个值,该值指示是否为数据源中的每个字段自动创建绑定的字段。

默认值为true

当AutoGenerateColumns=true时,那么前台.aspx 页面上AutoGeneratedField 对象将自动创建数据源中的每个字段。

当AutoGenerateColumns=false时,那么前台.aspx 页面上Gridview中需要逐列自定义columns。绑定的列除字段外,还可以显示按钮字段、复选框列字段、命令字段、超链接列字段、图像字段或自定义模板列。

AutoGenerateColumns=true

效果图:

Gridview AutoGenerateColumns属性

.aspx 代码

   <div class="col-md-6">
            <asp:GridView ID="gvTest" runat="server" CssClass="table table-bordered table-hover" AutoGenerateColumns="true" OnRowDataBound="gvTest_RowDataBound">
            </asp:GridView>
    </div>

.aspx.cs 代码

protected void Page_Load(object sender, EventArgs e)
  {
   if (!IsPostBack)
     {
        InitView();
     }
  }

protected void InitView()
 {
  gvTest.DataSource = BLLFPY.Instance.DataSource();
  gvTest.DataBind();
  ].Text.ToString().Equals("PhoneNo"))
  gvTest.HeaderRow.Cells[].Text = "Phone";
 }

protected void gvTest_RowDataBound(object sender, GridViewRowEventArgs e)
 {
  if (e.Row.RowType == DataControlRowType.DataRow)
    {

    }
 }

AutoGenerateColumns=false

一样的效果图,后台绑定数据的代码也相同,只有前台代码不同(如下):

.aspx 代码

  <div class="col-md-6">
            <asp:GridView ID="gvTest" runat="server" CssClass="table table-bordered table-hover" AutoGenerateColumns="false" OnRowDataBound="gvTest_RowDataBound">
                <Columns>
                    <asp:BoundField HeaderText="SNo." DataField="SNo." />
                    <asp:BoundField HeaderText="Name" DataField="Name" />
                    <asp:BoundField HeaderText="Sex" DataField="Sex" />
                    <asp:BoundField HeaderText="PhoneNo" DataField="PhoneNo" />
                </Columns>
            </asp:GridView>
   </div>

此属性,一般在工作中用于列很多,而且是不固定的列,或者需要特殊处理的列,下面是两个实例图

Gridview AutoGenerateColumns属性

Gridview AutoGenerateColumns属性