ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[2] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[3] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[4] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[5] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[6] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[7] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[8] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[9] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[10] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
[11] ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
系列文章导航:
ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据
ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值
ASP.NET 2.0数据教程之七:使用DropDownList过滤的主/从报表
ASP.NET 2.0数据教程之八:使用两个DropDownList过滤的主/从报表
ASP.NET 2.0数据教程之十:使用 GridView 和DetailView实现的主/从报表
ASP.NET 2.0数据教程之十一:基于数据的自定义格式化
ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
Step 3: 在DetailsView中格式化 UnitPrice
到这个时候我们已经知道即将绑定的UnitPrice是否高于$75.00,现在我们来看看怎么通过编码调整UnitPrice的格式,我们可以通过修改DetailsViewID.Rows[index];修改一行数据,而且我们可以通过访问DetailsViewID.Rows[index].Cells[index]来访问某一单元格,这样我们可以通过修改与格式相关的属性来格式化这一单元格
访问某一行需要得到某行的索引,索引从0开始, UnitPrice 在 DetailsView中是第15行, 假设他在第四行那么我们可以通过ExpensiveProductsPriceInBoldItalic.Rows[4]来访问. 这时我们可以通过下面的代码将这一行显示为粗体,italic 字体
ExpensiveProductsPriceInBoldItalic.Rows[4].Font.Bold = true; ExpensiveProductsPriceInBoldItalic.Rows[4].Font.Italic = true; |
然而,这样将会格式化Label和值,如果我们只想将值格式话,而且我们需要将格式应用到当前行的第二格,请看下面的代码
ExpensiveProductsPriceInBoldItalic.Rows[4].Cells[1].Font.Bold = true; ExpensiveProductsPriceInBoldItalic.Rows[4].Cells[1].Font.Italic = true; |
我们还可以通过StyleSheet 来显示标记和样式相关信息,而不是用确定的某一行某一列来设置格式,我们用CSS来控制格式,打开Styles.css 文件,添加一个新的Class命名为ExpensivePriceEmphasis按照下面的代码
CSS .ExpensivePriceEmphasis { font-weight: bold; font-style: italic; } |
然后再DataBound事件中,设置单元的CssClass为ExpensivePriceEmphasis,在DataBound事件处理中添加
当查看Chai(费用低于$75.00),价格将会用正常格式显示 图4),但是当查看Mishi Kobe Niku,(价格为$97.00)则会用我们设置的格式显示(图5)
图4: 价格低于$75.00将会用正常格式显示
图5: 价格高于$75.00将会用 粗体, Italic 字体显示