ASP.NET 2.0中Gridview控件高级技巧
来源:天极网 作者:廖煜嵘 出处:综艺读书 2007-07-17ASP.NET 2.0中,新增加的gridview控件的确十分强大,弥补了在asp.net 1.1中,使用datagrid控件时的不足之处。因为在asp.net 1.1中,在使用datagrid时,很多情况下依然要编写大量的代码,十分不方便,而且有时需要很多技巧。
|
|
|||
一 格式化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的话,则设置其行的背景颜色为黄色。程序运行结果如下图所示:
相关图文阅读
频道图文推荐
相关专题
·Office技巧专区 (6069篇文章)
·网管实用技巧100例 (5823篇文章)
·ADO.NET实用技巧 (5452篇文章)
·.NET移动与嵌入式技术 (4937篇文章)
·.NET开发手册 (4730篇文章)
·ASP.NET教程 (6651篇文章)
·ASP.NET应用篇 (2067篇文章)
·ASP.NET经验技巧篇 (73篇文章)
·网管实用技巧100例 (5823篇文章)
·ADO.NET实用技巧 (5452篇文章)
·.NET移动与嵌入式技术 (4937篇文章)
·.NET开发手册 (4730篇文章)
·ASP.NET教程 (6651篇文章)
·ASP.NET应用篇 (2067篇文章)
·ASP.NET经验技巧篇 (73篇文章)
·asp.net 实现购物车详细代码 (6068次浏览)
·ASP.NET 2.0中Gridview控件高级技巧 (4713次浏览)
·从零开始学ASP.NET(基础篇) (4702次浏览)
·ASP.NET2.0连接SQL Server数据库详解 (2032次浏览)
·ASP.NET教程第一讲 ASP.NET简介 (1918次浏览)
·在ASP.NET 2.0中实现数据的绑定 (1854次浏览)
·ASP.NET Session详解 (1012次浏览)
·ASP.NET教程第四讲 数据绑定 Data (838次浏览)
·DateDiff 函数详解 (681次浏览)
·面试ASP.NET程序员的笔试题和机试题 (64次浏览)
·ASP.NET 2.0中Gridview控件高级技巧 (4713次浏览)
·从零开始学ASP.NET(基础篇) (4702次浏览)
·ASP.NET2.0连接SQL Server数据库详解 (2032次浏览)
·ASP.NET教程第一讲 ASP.NET简介 (1918次浏览)
·在ASP.NET 2.0中实现数据的绑定 (1854次浏览)
·ASP.NET Session详解 (1012次浏览)
·ASP.NET教程第四讲 数据绑定 Data (838次浏览)
·DateDiff 函数详解 (681次浏览)
·面试ASP.NET程序员的笔试题和机试题 (64次浏览)
·asp.net 实现购物车详细代码 (6068次浏览)
·ASP.NET 2.0中Gridview控件高级技巧 (4713次浏览)
·从零开始学ASP.NET(基础篇) (4702次浏览)
·ASP.NET2.0连接SQL Server数据库详解 (2032次浏览)
·ASP.NET教程第一讲 ASP.NET简介 (1918次浏览)
·在ASP.NET 2.0中实现数据的绑定 (1854次浏览)
·ASP.NET Session详解 (1012次浏览)
·ASP.NET教程第四讲 数据绑定 Data (838次浏览)
·DateDiff 函数详解 (681次浏览)
·关于ASP.NET技术的学习顺序问题 (255次浏览)
·ASP.NET 2.0中Gridview控件高级技巧 (4713次浏览)
·从零开始学ASP.NET(基础篇) (4702次浏览)
·ASP.NET2.0连接SQL Server数据库详解 (2032次浏览)
·ASP.NET教程第一讲 ASP.NET简介 (1918次浏览)
·在ASP.NET 2.0中实现数据的绑定 (1854次浏览)
·ASP.NET Session详解 (1012次浏览)
·ASP.NET教程第四讲 数据绑定 Data (838次浏览)
·DateDiff 函数详解 (681次浏览)
·关于ASP.NET技术的学习顺序问题 (255次浏览)
·asp.net 实现购物车详细代码 (6068次浏览)
·ASP.NET 2.0中Gridview控件高级技巧 (4713次浏览)
·从零开始学ASP.NET(基础篇) (4702次浏览)
·ASP.NET2.0连接SQL Server数据库详解 (2032次浏览)
·ASP.NET教程第一讲 ASP.NET简介 (1918次浏览)
·在ASP.NET 2.0中实现数据的绑定 (1854次浏览)
·ASP.NET Session详解 (1012次浏览)
·ASP.NET教程第四讲 数据绑定 Data (838次浏览)
·DateDiff 函数详解 (681次浏览)
·关于ASP.NET技术的学习顺序问题 (255次浏览)
·ASP.NET 2.0中Gridview控件高级技巧 (4713次浏览)
·从零开始学ASP.NET(基础篇) (4702次浏览)
·ASP.NET2.0连接SQL Server数据库详解 (2032次浏览)
·ASP.NET教程第一讲 ASP.NET简介 (1918次浏览)
·在ASP.NET 2.0中实现数据的绑定 (1854次浏览)
·ASP.NET Session详解 (1012次浏览)
·ASP.NET教程第四讲 数据绑定 Data (838次浏览)
·DateDiff 函数详解 (681次浏览)
·关于ASP.NET技术的学习顺序问题 (255次浏览)
最新技术文档
·如何处理ASP.NET 2.0配置文件 07-22
·ASP.NET教程第四讲 数据绑定 DataBind 07-22
·ASP.NET2.0中控件的简单异步回调 07-21
·慎用ASP.Net的validateRequest=“false” 07-21
·在ASP.NET中使用Memcached 07-21
·DateDiff 函数详解 07-20
·ASP.NET Session详解 07-19
·ASP.NET2.0连接SQL Server数据库详解 07-18
·ASP.NET教程第一讲 ASP.NET简介 07-18
·在ASP.NET 2.0中实现数据的绑定 07-18
·ASP.NET教程第四讲 数据绑定 DataBind 07-22
·ASP.NET2.0中控件的简单异步回调 07-21
·慎用ASP.Net的validateRequest=“false” 07-21
·在ASP.NET中使用Memcached 07-21
·DateDiff 函数详解 07-20
·ASP.NET Session详解 07-19
·ASP.NET2.0连接SQL Server数据库详解 07-18
·ASP.NET教程第一讲 ASP.NET简介 07-18
·在ASP.NET 2.0中实现数据的绑定 07-18
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容








