ASP.NET 2.0数据教程之三十五:使用Repeater和DataList实现的主/从报表
its solution 。
ID为 ViewCategory的LinkButton还没有设置Text属性。如果我们只需要显示category 名字,我们可以通过绑定语法象下面这样来直接设置: ASP.NET
然而在这里我们 需要显示的是category的name和proudct的总数。见下面的代码: C#
我们首 先要确保我们处理的是data item(ItemType为Item或AlternatingItem)然后引用 刚刚绑定到当前RepeaterItem的CategoriesRow。然后调用 GetCategoriesByProductID(categoryID)方法,通过Count属性获取返回的记录条 数。最后将ItemTemplate里的ViewCategory LinkButton的Text属性设为 "CategoryName(NumberOfProductsInCategory)"。 注意:我们 也可以在ASP.NET页的code-behind里写一个格式化功能,接收CategoryName和 CategoryID的值,返回CategoryName和product总数的连接字符串。然后将结果直 接赋给LinkButton的Text属性,而不需要处理ItemDataBound事件。更多的格式化 功能信息参考在GridView控件中使用TemplateField 和格式化DataList和 Repeater的数据。 添加完event handler后,在浏览器里看看页面。见图4 。 图 4:显示每个 Category的 Name 和 Products总数 更新 CategoriesDataTable和CategoriesTableAdpter来包含每个Category的Product总 数 除了在每个category绑定到Repeater时获取product总数外,我们还可以 修改DAL里CategoriesDataTable和CategoriesTableAdapter来包含这个信息.我们 在CategoriesDataTable里加一列.打开App_Code\DAL\Northwind.xsd,右键点 DataTable,选择Add/Column.见图5. 图 5: 为CategoriesaDataSource增加一个新列 这样会添加一个 名为Column1的列,你可以很方便的修改它的名字.将它重命名为 NumberOfProducts.然后我们需要配置这列的属性.点这个列,来到属性窗口.将 DataType从System.String修改为System.Int32.将ReadOnly属性设为True.见图 6. 图 6: 设置新列的属性 现在CategoriesDataTable里已经包含了 NumberOfProducts列,但它的值还没有设置.我们可以修改GetCategories()方法, 当每次获取category信息的时候返回它的信息.在这里由于只是本章用到了这个数 据,我们来创建一个新的名为GetCategoriesAndNumberOfProducts(). 右键 点CategoriesTableAdapter,选择New Query.会出现TableAdapter Query配置向导 .选择SQL statement. 图 7: 选择SQL Statement 图 8: SQL Statement 返回行数 下一步需要我们写sql语句.下 面 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |