Gridview控件高级技巧Word格式文档下载.docx
- 文档编号:15320402
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:11
- 大小:234.24KB
Gridview控件高级技巧Word格式文档下载.docx
《Gridview控件高级技巧Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Gridview控件高级技巧Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
比如,如果要某一列设置为特殊格式,如要将unitprice设置为货币格式,可以在unitprice列的DataFormatString属性中设置为{0:
C},程序代码如下:
<%@PageLanguage="
C#"
%>
<!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.1//EN"
"
http:
//www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
>
<scriptrunat="
server"
</script>
<htmlxmlns="
//www.w3.org/1999/xhtml"
>
<headrunat="
<title>UntitledPage</title>
</head>
<body>
<formid="
form1"
runat="
<div>
<asp:
SqlDataSourceID="
productsDataSource"
Runat="
SelectCommand="
SELECT[ProductID],[ProductName],
[QuantityPerUnit],[UnitPrice],[UnitsInStock]FROM
[Products]"
ConnectionString="
<%$ConnectionStrings:
NWConnectionString%>"
DataSourceMode="
DataReader"
</asp:
SqlDataSource>
GridViewID="
productGridView"
Runat="
DataSourceID="
DataKeyNames="
ProductID"
AutoGenerateColumns="
False"
BorderWidth="
1px"
BackColor="
#DEBA84"
CellPadding="
3"
CellSpacing="
2"
BorderStyle="
None"
BorderColor="
<FooterStyleForeColor="
#8C4510"
#F7DFB5"
></FooterStyle>
<PagerStyleForeColor="
HorizontalAlign="
Center"
></PagerStyle>
<HeaderStyleForeColor="
White"
Font-Bold="
True"
#A55129"
></HeaderStyle>
<Columns>
BoundFieldReadOnly="
HeaderText="
ID"
InsertVisible="
DataField="
SortExpression="
<ItemStyleHorizontalAlign="
></ItemStyle>
</asp:
BoundField>
<asp:
BoundFieldHeaderText="
Name"
ProductName"
SortExpression="
Qty/Unit"
DataField="
QuantityPerUnit"
SortExpression="
></asp:
Price/Unit"
UnitPrice"
DataFormatString="
{0:
c}"
<ItemStyleHorizontalAlign="
Right"
UnitsInStock"
UnitsInStock"
d}"
</Columns>
<SelectedRowStyleForeColor="
BackColor="
#738A9C"
></SelectedRowStyle>
<RowStyleForeColor="
#FFF7E7"
></RowStyle>
GridView>
</div>
</form>
</body>
</html>
程序运行后结果如下:
而有的时候,我们可能要根据需要,对gridview中的数据进行特殊的显示,比如当某样商品库存为0时,要求gridview中以不同颜色进行显示,这时,可以按如下的方法进行:
首先,gridview提供了rowdatabound事件,该事件在gridview中每行被创建并且绑定到datasource控件后被触发,因此,我们可以利用该事件去检查库存是否为0,如果为0的话,将所在行的北京颜色设置为黄色,代码如下:
publicvoidproductsGridView_RowDataBound(objectsender,
GridViewRowEventArgse)
{
if(e.Row.RowType==DataControlRowType.DataRow)
{
intunitsInStock=Convert.ToInt32(DataBinder.Eval(e.Row.DataItem,"
));
if(unitsInStock==0)
e.Row.BackColor=Color.Yellow;
}
}
首先,该事件首先检查,当前的行是否属于datarow类型的行,因为象gridview中的headerrow,footerrow等行,并不包含实际的数据,因此,我们不需要使用headerrow和footerrow,而为了取得库存unitesinstock的内容,通过使用databinder.eval的方法取出其内容,并转换为int类型,接着判断是否为0,如果为0的话,则设置其行的背景颜色为黄色。
程序运行结果如下图所示:
二gridview的分页和排序
在1.1中,datagrid分页是很常见的。
而在2.0中,依然有两种分页方式,一种是默认的分页方式,比如,有1000条数据,每页显示10条数据,则每次页面请求都必须从数据库中将1000条数据读取出来,只不过每次显示一页时,显示10条数据,速度和性能会降低。
另一种是自定义分页方式,比如1000条数据,每页显示10条数据,则程序每次在页面跳转时,只会从数据库中拿10条数据出来显示给用户,而不是每次都把1000条数据拿出来,因此性能大为提高。
在2.0中,使用sqldatasource控件进行分页是十分容易的事情。
Sqldatasource数据源控件是用来与数据库打交道的,可以读取数据库中的数据,并可以和gridview等控件进行绑定。
在下面的演示中,首先拖拉一个sqldatasource控件,并且设置其数据源为sqlserver中的northwind数据库,再拖拉一个gridview控件,并且点gridview的smarttag智能标记,在弹出的菜单中,选择"
enablepaging"
和"
enablesorting"
即允许分页和排序,则可以完成分页和排序的功能了,是不是很简单呢?
如下图所示:
而在分页的效果中,有时我们想让用户知道,目前正在浏览的是第几页,那么要如何实现呢?
在gridview中,有一个pageindex的属性,指示页面的序号(从0开始),则只需在页面的html代码内,写下如下代码,即可实现效果:
<i>Youareviewingpage
<%=productsGridView.PageIndex+1%>
of
<%=productsGridView.PageCount%>
</i>
完整代码如下:
<formid="
<div>
<asp:
productDataSource"
SelectCommand="
SELECT[ProductName],[UnitPrice],
[UnitsInStock],[QuantityPerUnit]FROM[Products]"
ConnectionString="
productsGridView"
DataSourceID="
False
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Gridview 控件 高级 技巧
![提示](https://static.bdocx.com/images/bang_tan.gif)