`

asp.net 2.0的gridview基本知识

    博客分类:
  • .NET
阅读更多
  在老外的一篇blog里(http://fredrik.nsquared2.com/ViewPost.aspx?PostID=429),很好的一篇文章介绍了
asp.net 2.0中对gridview的一些基本操作,下面部分翻译并小结之。
   
1 当要访问gridview的当前行时,可以使用的事件为OnRowDataBound,
 protected virtual void OnRowDataBound(GridViewRowEventArgs e);
  在这个事件中,往往要关注的是rowtype和row state两个属性

其中,先来看下rowtype,
rowtype是a DataControlRowType 的集合,包括了
  

DataRow

EmptyDataRow

Footer,

Header

Pager

Seperator


   比如下面的代码检查了当前是否处于gridview的header位置
 

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

     if (e.Row.RowType == DataControlRowType.Header)

     {

     }

 }

如果要获得当前的数据行是处于什么样的状态,比如是编辑行,插入行,删除行,交替行都可以获得,则可以通过
rowstate属性获得
  下面的图可以清晰表现gridview的一些状态
  


      可以看到,比如当编辑某行的时候,rowstate的状态是编辑,当选择当选择了某行时,状态是selected,此外的也可以在图上清晰的看到


2  访问gridview的某一列
   要注意的是,访问时,可以用

e.Row.Cells[1]

去访问gridview中的第2列,(第1列的默认是0下标)
    如果是用了绑定列的话,比如
 

<asp:GridView ID="GridView1" …>

    <Columns>

        <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" .../>

        <asp:BoundField DataField="CompanyName" HeaderText="CustomerID" .../>

        ...     

    </Columns>

</asp:GridView>
那么访问某一列时,可以这样
   

String customerId = e.Row.Cells[0].Text;

 

e.Row.Cells[0].Text = “New value for the first column”;


如果要改变某行的背景CSS,可以这样
    

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

     if (e.Row.RowType == DataControlRowType.DataRow)

     {

            if (e.Row.Cells[1].Text == “ANTON”)

            {

                   e.Row.Cells[1].Style.Add(“background-color”,”red”);

             }

     }

}
    再比如,如果已经将一个对象的集合绑定到一个gridview了,而且要访问其中的每一行,可以这样做
Customer customer = (Customer)e.Row.DataItem;
   比如下面的代码检查每一行,如果发现ID为ANTON的话,则变颜色

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

     if (e.Row.RowType == DataControlRowType.DataRow)

     {

            Customer customer = (Customer)e.Row.DataItem;

 

            if (customer.ID == “ANTON”)

            {

                   e.Row.Cells[1].Style.Add(“background-color”,”red”);

             }

     }

}

如果是用模版列的话,而要访问gridview中的某个控件,可以用findcontrol
   

<asp:GridView ID="GridView1" ...>

 <Columns>

    <asp:BoundField DataField="CustomerID" ... />

     <asp:TemplateField HeaderText="CompanyName" ...>

       <ItemTemplate>

         <asp:Label ID="Label1" runat="server" Text='<%# Bind("CompanyName") %>'/>

       </ItemTemplate>

     </asp:TemplateField>

  </Columns>

</asp:GridView>

  要获得label1标签,可以这样,当然这前提是你准确知道要找的是第几列

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

     if (e.Row.RowType == DataControlRowType.DataRow)

     {

   Label myLabel = (Label)e.Row.Cells[1].FindControl(“Label1”);

     }

也可以这样,用findcontrol

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

     if (e.Row.RowType == DataControlRowType.DataRow)

     {

Label myLabel = (Label)e.Row.FindControl(“Label1”);

     }

}


 


  

分享到:
评论

相关推荐

    ASP.NET 2.0入门经典:C#编程篇.pdf

    本书《ASP.NET 2.0入门经典:C#编程篇》显然是针对初学者设计的,旨在帮助读者掌握使用C#语言进行ASP.NET 2.0开发的基础知识。 1. **.NET Framework**:.NET Framework是ASP.NET的基础,它提供了一组类库、运行时...

    ASP.net 2.0网络编程从入门到精通-修订.rar

    本教程修订版可能涵盖了以上知识点的详细解释和实例,通过学习,开发者将能够熟练运用ASP.NET 2.0进行高效、安全的Web应用开发。对于希望在.NET平台上从事Web开发的人来说,这是一份非常有价值的学习资料。

    ASP.NET 2.0程序设计案例教程(课件)

    通过这个案例教程,学习者不仅会掌握ASP.NET 2.0的基本概念和技术,还能通过实际案例学习如何将这些知识应用于解决实际问题,提升其在Web开发领域的技能。每个课件可能包含详细的讲解、示例代码和实践练习,确保理论...

    天轰穿ASP.NET2.0视频教程代码(共两部份)

    此"天轰穿ASP.NET2.0视频教程"针对初学者和进阶开发者,通过详细的教学指导,帮助用户掌握ASP.NET 2.0的核心概念和技术。 1. **ASP.NET 2.0架构** ASP.NET 2.0基于.NET Framework 2.0,引入了统一的页面生命周期...

    Programming Microsoft ASP.NET 2.0 Applications - Advanced Topics

    2. **控件与数据绑定**:书中会详细介绍ASP.NET 2.0的各种服务器控件,如GridView、DetailsView、FormView等,以及如何利用数据绑定机制(例如,DataSource控件)来连接数据库并展示数据。 3. **状态管理**:ASP...

    asp.net 2.0动态网站开发教程

    在ASP.NET 2.0中,有一系列预定义的服务器控件,如Label、TextBox、Button、GridView等,这些控件可以直接在页面上拖放并进行配置,极大地简化了网页设计。此外,控件间的事件处理模型也得到了强化,使得代码编写...

    ASP.Net2.0 GridView 多列排序

    ASP.Net2.0 GridView 多列排序

    ASP.NET2.0+sql server 网络应用开发详解

    1. **ASP.NET 2.0基础**:介绍ASP.NET的基本架构、页面生命周期、控件事件模型、状态管理策略等。 2. **C#或VB.NET编程**:作为ASP.NET的主要开发语言,讲解C#或VB.NET的基础语法、类库、异常处理、面向对象特性等...

    ASP.NET 2.0入门经典(第4版)源码

    3. **数据绑定**:ASP.NET 2.0提供了强大的数据绑定机制,如DataSource控件和Repeater、GridView、FormView等数据展示控件。这使得数据的检索、处理和显示变得更加简单,尤其适合构建数据驱动的Web应用。 4. **主题...

    精通ASP.NET2.0+SQL Server 2005项目开发 源码.rar

    《精通ASP.NET 2.0 + SQL Server 2005项目开发》是一部深度解析Web应用程序构建的教程,尤其关注ASP.NET 2.0框架与SQL Server 2005数据库系统的结合应用。该资源包含9个精心设计的案例,旨在帮助开发者逐步提升在...

    ASP.NET 2.0网络编程自学手册

    该书涵盖了从基础知识到高级特性的全面内容,是学习ASP.NET 2.0不可或缺的参考资料。 在ASP.NET 2.0中,微软引入了许多新特性,极大地提升了开发效率和应用程序的性能。首先,本书会讲解ASP.NET 2.0的基础概念,...

    使用ASP.NET 2.0 GridView轻松操作数据

    本文关键词: TonyPatton TonyPatton GridView ASP.NET ASP.NET ASP.Net Asp.net ASP.NET 2.0

    asp.net2.0技术内幕 源码

    本篇将深入探讨ASP.NET 2.0的关键知识点,结合提供的源码,帮助读者更深入地理解其工作原理。 1. **页面生命周期**:在ASP.NET 2.0中,每个Web页面都有一个特定的生命周期,包括初始化、加载、验证、呈现和卸载等...

    深入挖掘ASP.NET 2.0系列课程(11):ASP.NET 中的静态页生成技术

    ASP.NET 2.0是微软开发的一个强大的Web应用程序框架,用于构建动态网站、Web应用程序和服务。在该框架中,静态页生成技术是一个重要的优化手段,它有助于提高网站的性能和搜索引擎优化(SEO)。本篇文章将深入探讨...

    asp.net 2.0 宝典

    《ASP.NET 2.0 宝典》是一本深度探讨ASP.NET 2.0开发技术的专业书籍,其随书光盘包含了一系列的示例代码和教程,帮助读者深入理解和掌握这个强大的Web应用程序开发框架。虽然上传的文件只是部分内容,但它们涵盖了多...

    ASP.NET 2.0介绍

    以下是对ASP.NET 2.0访问数据库、编译及运行时行为、开发环境、控件使用等方面的知识点的详细说明。 1. 访问数据库: 在ASP.NET 1.1中,常用的数据访问方式是通过ADO.NET中的DataAdapter和DataSet,它们允许开发者...

    圣殿祭司配书盘 asp.net2.0开发详解 示范案例

    5. **数据绑定**:ASP.NET 2.0增强了数据绑定机制,如Repeater、GridView、ListView等控件,可以方便地与数据库或其他数据源进行交互。 6. **内置缓存机制**:为了提高性能,ASP.NET 2.0引入了多种缓存策略,如...

    ASP.NET2.0数据库项目案例导航

    ASP.NET 2.0的GridView和DetailsView控件能方便地展示和编辑数据,结合论坛数据库架构(如主题、回复、用户信息),可以构建一个完整的讨论平台。 4. 在线投票功能模块:在线投票需要记录用户选择并实时更新结果。...

    ASP.NET 2.0网站开发全程解析(C#)

    ASP.NET 2.0是微软推出的用于构建动态网站、Web应用...同时,由于ASP.NET的版本迭代,虽然ASP.NET 2.0已有些许过时,但其基本原理和很多概念在后续版本中依然适用,因此对于初学者来说,仍然是一个有价值的学习资源。

Global site tag (gtag.js) - Google Analytics