欢迎来到天天文库
浏览记录
ID:21286413
大小:32.00 KB
页数:3页
时间:2018-10-20
《gridview值变化而改变行列样式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、GridView值的变化而改变行列样式看到论坛中有询问关于如何在GridView随某行某列值的改变时(这些值是空的或不是空的或是其它某些值等),其背景色及文本颜色也随之改变。这篇文章便论述这个问题。 根据某列的值改变其样式最好的方法是在GridView的DataRowBound事件中想办法。在GridView中的行绑定数据后将立即执行DataRowBound事件。DataRowBound事件使用GridViewRowEventargs类作为事件变量。通过事件变量你能够利用GridViewRowEventArgs
2、属性操作已经绑定数据的行。protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){ GridViewRowrow=e.Row;} Row将返回TableRow类中的一个GridViewRow对象。 绑定的Row有几种不同的类型。例如:DataRow,EmptyDataRow,Footer,Header,Pager和Separator。通过GridView的RowType属性可以得到当前行的行类型。RowType是一组Dat
3、aControlRow枚举。 看下面的代码示例,检测GridView列出的行是否为一个标准类型的行。protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){ if(e.Row.RowType==DataControlRowType.DataRow) { //Dosomething! }} 可以使用Row的Cells属性得到其Cells,它将返回一个TableCellCollection对象。然后通过TableCellCo
4、llection索引得到特定的Cells。TableCellcollection索引将返回一个TabelCell对象,对应于Row中的一个Cell:protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){ if(e.Row.RowType==DataControlRowType.DataRow) { stringvalue=e.Row.Cells[0].Text; }} 现在你已经明白了如何得到GridView中某行某列的
5、值,那么根据值的变化改变其样式就比较容易了。以下示例使用Northwind数据库,通过检测第四列(UnitPrice)的值是否大于10将其颜色改变为红色。<%@PageLanguage="C#"%><%@ImportNamespace="System.Drawing"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.1//EN""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><scriptrunat="server">protectedv
6、oidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){ if(e.Row.RowType==DataControlRowType.DataRow) { if(Decimal.Parse(e.Row.Cells[3].Text)>10) e.Row.Cells[3].BackColor=Color.Red; }}</script><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="se
7、rver"><title>UntitledPage</title></head><body> <formid="form1"runat="server"> <div> <asp:GridViewID="GridView1"runat="server"DataSourceID="SqlDataSource1"AutoGenerateColumns="False"DataKeyNames="ProductID"OnRowDataBound="GridView1_RowDataBound"> <Columns>
8、 <asp:BoundFieldReadOnly="True"HeaderText="ProductID"InsertVisible="False"DataField="ProductID"SortExpression="ProductID"/> <asp:BoundFieldHeaderText="ProductName"DataField="ProductName
此文档下载收益归作者所有