教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> .NET类 >> ASP.NET >> ASP.NET 2.0中Gridview控件高级技巧1 RSS订阅
ASP.NET 2.0中Gridview控件高级技巧1
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
     ASP.NET 2.0中,新增加的gridview控件的确十分强大,弥补了在ASP.net 1.1中,使用datagrid控件时的不足之处。因为在ASP.net 1.1中,在使用datagrid时,很多情况下依然要编写大量的代码,十分不方便,而且有时需要很多技巧。
  而在ASP.net 2.0中,很多情况下,使用gridview控件的话,甚至只需要拖拉控件,设置属性就可以了,不需要编写任何代码。在《使用ASP.NET 2.0中的GridView控件》和《ASP.NET2.0中用Gridview控件操作数据》中,已经对gridview控件做了一系列介绍,如果之前没有了解过gridview的读者,请先阅读这两篇文章。在本文中,将继续深入介绍gridview的一些使用技巧。
  
    一 格式化gridview
  
    和ASP.net 1.1一样,gridview可以很方便地定制其样式,比如CSS,颜色等。要定制gridview的格式,十分简单,只需要鼠标右击gridview,在弹出的菜单中选择"AUTO FORMAT",则可以选择gridview的样式,内置了许多样式,如下图:
  
  
   如果你要对gridview中每一列自定义格式,则只需要点击gridview右上角的"smart tag"智能标记,在弹出的菜单中,选择"edit columns",会弹出如下图的窗体,这样就可以对每列进行详细的设置了:
  
  
  比如,如果要某一列设置为特殊格式,如要将unitprice设置为货币格式,可以在unitprice列的DataFormatString属性中设置为{0:C},程序代码如下:
  
  <%@ Page Language="C#" %>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xHTML11/DTD/xHTML11.dtd">
  <script runat="server">
  </script>
  <HTML XMLns="http://www.w3.org/1999/xHTML" >
  <head runat="server">
  <title>Untitled Page</title>
  </head>
  <body>
   <form id="form1" runat="server">
   <div>
    <ASP:SqlDataSource ID="productsDataSource"
      Runat="server"
      SelectCommand="SELECT [ProductID], [ProductName],
      [QuantityPerUnit], [UnitPrice], [UnitsInStock] FROM
      [Products]"
      ConnectionString="<%$ ConnectionStrings:NWConnectionString %>"
       DataSourceMode="DataReader">
    </ASP:SqlDataSource>
    <ASP:GridView ID="productGridView" Runat="server"
       DataSourceID="productsDataSource"
       DataKeyNames="ProductID" AutoGenerateColumns="False"
       BorderWidth="1px" BackColor="#DEBA84"
       CellPadding="3" CellSpacing="2" BorderStyle="None"
       BorderColor="#DEBA84">
    <FooterStyle ForeColor="#8C4510" BackColor="#F7DFB5"></FooterStyle>
    <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center"></PagerStyle>
    <HeaderStyle ForeColor="White" Font-Bold="True" BackColor="#A55129"></HeaderStyle>
    <Columns>
    <ASP:BoundField ReadOnly="True" HeaderText="ID" InsertVisible="False" DataField="ProductID"
  SortExpression="ProductID">
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
   </ASP:BoundField>
   <ASP:BoundField HeaderText="Name" DataField="ProductName" SortExpression="ProductName">
   </ASP:BoundField>
   <ASP:BoundField HeaderText="Qty/Unit"
      DataField="QuantityPerUnit"
      SortExpression="QuantityPerUnit"></ASP:BoundField>
   <ASP:BoundField HeaderText="Price/Unit"
      DataField="UnitPrice" SortExpression="UnitPrice"
      DataFormatString="{0:c}">
     <ItemStyle HorizontalAlign="Right"></ItemStyle>
   </ASP:BoundField>
   <ASP:BoundField HeaderText="Units In Stock" DataField="UnitsInStock"
      SortExpression="UnitsInStock"
      DataFormatString="{0:d}">
    <ItemStyle HorizontalAlign="Right"></ItemStyle>
   </ASP:BoundField>
  </Columns>
  <SelectedRowStyle ForeColor="White" Font-Bold="True"
    BackColor="#738A9C"></SelectedRowStyle>
    <RowStyle ForeColor="#8C4510" BackColor="#FFF7E7"></RowStyle>
    </ASP:GridView>
   </div>
   </form>
  </body>
  </HTML>
  
    程序运行后结果如下:
  
  
  
  而有的时候,我们可能要根据需要,对gridview中的数据进行特殊的显示,比如当某样商品库存为0时,要求gridview中以不同颜色进行显示,这时,可以按如下的方法进行:
  
    首先,gridview提供了rowdatabound事件,该事件在gridview中每行被创建并且绑定到datasource控件后被触发,因此,我们可以利用该事件去检查库存是否为0,如果为0的话,将所在行的北京颜色设置为黄色,代码如下:
  
  
  public void productsGridView_RowDataBound(object sender,
  GridViewRowEventArgs e)
  {
   if (e.Row.RowType == DataControlRowType.DataRow)
   {
    int unitsInStock = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "UnitsInStock"));
    if (unitsInStock == 0)
     e.Row.BackColor = Color.Yellow;
   }
  }
  
    首先,该事件首先检查,当前的行是否属于datarow类型的行,因为象gridview中的headerrow,footerrow等行,并不包含实际的数据,因此,我们不需要使用headerrow和footerrow,而为了取得库存unitesinstock的内容,通过使用databinder.eval的方法取出其内容,并转换为int类型,接着判断是否为0,如果为0的话,则设置其行的背景颜色为黄色。程序运行结果如下图所示:
  
  
    。



来源:upschool.com.cn
作者:
关键字:ASP.NET
发表日期:2006-11-8

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:ASP.NET 2.0中Gridview控件高级技巧2   下一篇:ASP.NET中DataGrid控件应用技巧简述3


本文的相类似文章
  • 黑客揭密ASP.net服务器的入侵
  • ASP.Net漏洞 黑客可绕过安全设置
  • ASP.NET中如何防范SQL注入式攻击
  • ASP.NET中树形图的实现 3
  • ASP.NET 2.0中随机读取Access数据库记录
  • ASP.NET中树形图的实现 1
  • ASP.NET中树形图的实现 2
  • ASP.NET应用程序设计的10大技巧(1)
  • ASP.NET应用程序设计的10大技巧(2)
  • ASP.Net 2.0 图形控件简述
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com