ASP.NET——GridView控件绑定数据

        ASP.NET提供了许多种数据服务器控件,用于在Web页面中显示数据库中的表数据,GridView控件就是其中之一。这个控件和我们以前学过的DataGridView控件几乎是一样的,所以对GridView控件我们也并不陌生,下面简单介绍一下它的使用。

        前台:

在工具箱中找到GridView控件,并把它拖拽到代码编辑区域。

 

第一步,进入设计界面,在GridView控件上方有一个向右的黑色小三角,单击这个按钮,选择编辑列,如图:

 
      

第二步,去掉自动生成字段前面的勾选,选择根据绑定内容选择BoundField。

 

第三步,设置标题名称HeaderText和绑定字段名称DaTaField。

第四步,如果要统一设置表单每行的样式,选择将每个字段转化为TemplateField即可。

上面这些步骤设置好后,会自动生成HTML代码。 
      

    <div id="newnews" class="commonfrm">
        <h4>最新新闻</h4>
        <asp:GridView ID="gvNewNews" runat="server" AutoGenerateColumns="False"
            BorderWidth="0" GridLines="None">
            <Columns>
                <asp:TemplateField HeaderText="所属类别" HeaderStyle-CssClass="th_category">
                    <ItemTemplate>
                        <a class="td_category" href='list.aspx?caid=<%#Eval("caId") %>'>[<%# Eval("name") %>]</a>
                    </ItemTemplate>

                    <HeaderStyle CssClass="th_category"></HeaderStyle>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="新闻标题">
                    <ItemTemplate>
                        <a href='newscontent.aspx?newsid=<%#Eval("id") %>' target="_blank" title='<%# Eval("title") %>'><%# StringTruncat( Eval("title").ToString(), 18 , "...") %></a>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="发布时间" HeaderStyle-CssClass="th_time" ItemStyle-CssClass="td_time">
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("createtime") %>'></asp:Label>
                    </ItemTemplate>

                    <HeaderStyle CssClass="th_time"></HeaderStyle>

                    <ItemStyle CssClass="td_time"></ItemStyle>
                </asp:TemplateField>
            </Columns>

        </asp:GridView>

    </div>
        <!--热点新闻-->
    <div id="hotnews" class="commonfrm">
        <h4>热点新闻</h4>
        <asp:GridView ID="gvHotNews" runat="server" AutoGenerateColumns="False"
            BorderWidth="0" GridLines="None">
            <Columns>
                <asp:TemplateField HeaderText="所属类别" HeaderStyle-CssClass="th_category">
                    <ItemTemplate>
                        <a class="td_category" href='list.aspx?caid=<%#Eval("caId") %>'>[<%# Eval("name") %>]</a>
                    </ItemTemplate>

                    <HeaderStyle CssClass="th_category"></HeaderStyle>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="新闻标题">
                    <ItemTemplate>
                        <a href='newscontent.aspx?newsid=<%#Eval("id") %>' target="_blank" title='<%# Eval("title") %>'><%# StringTruncat( Eval("title").ToString(), 18 , "...") %></a>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="发布时间" HeaderStyle-CssClass="th_time" ItemStyle-CssClass="td_time">
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("createtime") %>'></asp:Label>
                    </ItemTemplate>

                    <HeaderStyle CssClass="th_time"></HeaderStyle>

                    <ItemStyle CssClass="td_time"></ItemStyle>
                </asp:TemplateField>
            </Columns>

        </asp:GridView>
    </div>

后台代码:        

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            // 第一次进入该页面时

            NewsManager nm = new NewsManager();
            // 绑定最新新闻
            gvNewNews.DataSource = nm.SelectNewNews();
            gvNewNews.DataBind();

            // 绑定热点新闻
            gvHotNews.DataSource = nm.SelectHotNews();
            gvHotNews.DataBind();
        }
    }

比较:

        在牛腩新闻发布系统中,还讲到一个绑定数据的控件,叫做Repeater控件,Repeater控件没有自己内置的呈现功能,这意味着用户必须通过创建模板来提供Repeater控件的布局,需要用ItemTemplate来定义模板。

        和Repeater控件相比,GridView控件功能更强大,灵活性更强,能够自定义每行每列的样式,但是有一个不好的缺点就是生成多余代码太多,各有千秋把算是。

        

ASP.NET——GridView控件绑定数据

时间: 2024-08-07 03:40:20

ASP.NET——GridView控件绑定数据的相关文章

在aspx页动态加载ascx页面内容,给GridView控件绑定数据

在aspx页动态加载ascx页面内容 //加载ascx页面内容Control c1 = this.Page.LoadControl("WebUserControl1.ascx");//绑定到aspx页的PlaceHolder控件上PlaceHolder1.Controls.Add(c1); DataSet ds = SqlServerHelpr.GetDataSet("select * from dbo.Table_1");//给GridView控件绑定数据Grid

asp.net GridView控件的列属性

BoundField 默认的数据绑定类型,通常用于显示普通文本 CheckBoxField 显示布尔类型的数据.绑定数据为TRUE时,复选框数据绑定列为选中状态:绑定数据为FALSE时,则显示未选中状态.在正常情况下,CheckBoxField显示在表格中的复选框控件处于只读状态.只有GridView控件的某一行进入编辑状态后,复选框才恢复为可修改状态. CommandField 显示用来执行选择,编辑或删除操作的预定义命令按钮,这些按钮可以呈现为普通按钮,超链接,图片等外观. 通过字段的But

ASP.net:GridView控件中实现全选和全反选

E:\ASP.net\temp\WebSite1 CheckBox2控件的 AutoPostBack属性设置为true. protected void CheckBox2_CheckedChanged(object sender, EventArgs e) {   for(int i=0;i<=GridView1.Rows.Count-1;i++)    {       CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("Chec

asp.net TreeView控件绑定数据库显示信息

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Data; 8 using System.Data.SqlClient; 9 using System.Configuration; 10 11 public part

获取Asp.net GridView控件当中总的记录数量

问题: 解决方案: SqlDataSource 或 AccessDataSource的selected事件的e.AffectedRows为查询操作返回的数据数目.(这个是在gridview分页情况下采用的方法.) 若是不分页,则gridview.rows.count就行了. 若是绑定dataTable那就直接在代码里面读datatable的Rows.count.

select控件绑定数据,默认选中项

设置 "select"属性即可,如: <span style="font-size:18px;"><select class="fl" id="search_CityId" name="search_City"> <option value="0" selected="selected">不限</option> <

C# DataGridView控件绑定数据后清空数据

在清除DataGridview的数据时: 1.DataSource为NULL(DataGridView.DataSource= null;)这样会将DataGridView的列也删掉. 2.用DataGridview.Rows.Clear();  提示"不能清除此列表"!!!!! 以上都不是想要的结果.想要满足保持原有的列,就是重新绑定之前的DataTable,然后清除DataTable中的数据,如下: DataTable  dt  =  (DataTable)dataGridView

asp.net GridView控件中诗选全选和全不选功能

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Data; 8 using System.Data.SqlClient; 9 using System.Configuration; 10 11 public part

通过Repeater控件绑定数据,相同数据合并单元格。

1:通过Repeater绑定数据源 this.Repeater.DataSource = dm; this.Repeater.DataBind(); 2:循环遍历所有列for (int i = 0; i < td.length; i++)       //i小于列长度{ string rptd = "ts";  //rptd为td单元ID命名 string tdIdName = rptd + i.ToString(); Merge(tdIdName);   // 把当前列的 td