快速业务通道

ASP.NET 2.0数据教程之五十三:从GridView的页脚插入新记录

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
脚中显示统计信息》

设置ShowFooter属性为true后,在浏览器里观看效果。当前的页脚行并不 包含任何的文字或Web控件。在第3步,我们将修改其包含相应的插入界面。

ASP.NET 2.0数据教程之五十三:从GridView的页脚插入新记录

图7:页脚行显示为空白

第3步:自定义页脚行

回顾教程 《在GridView控件中使用TemplateField》,在那篇教程我们探讨了如何对 GridView的某一列使用TemplateFields(而不是BoundFields或CheckBoxFields) ,从而实现自定义显示样式;而在教程《定制数据修改界面》里我们看到如何在 GridView里使用TemplateFields定制编辑界面。一个TemplateField是由诸如 ItemTemplate、EditItemTemplate等模板构成的。比如,ItemTemplate模板显示 的数据行为只读状态;而EditItemTemplate模板定制了一个编辑行界面。

除了ItemTemplate、EditItemTemplate等模板外,TemplateField也包含一个名为 FooterTemplate的模板,它为容器指定页脚行。所以我们可以在FooterTemplate 模板里添加插入界面要用到的Web控件。让我们开始吧,首先,我们将GridView控 件里的所有列转换成TemplateFields。在GridView控件的智能标签里点击“ 编辑列”,在左边选中每个域,再点击“Convert this field into a TemplateField” 。

ASP.NET 2.0数据教程之五十三:从GridView的页脚插入新记录

图8:将每个域转换为一个TemplateField

点击“Convert this field into a TemplateField”的话,将当前类型的域转换成相应的 TemplateField。比如,每个BoundField将转换成这样的TemplateField,它的 ItemTemplate包含一个Label控件来显示相应的数据域;它的EditItemTemplate使 用一个TextBox控件来显示相应的数据域。例如,在这里,名为ProductName的 BoundField将被转换为如下所示的TemplateField :

<asp:TemplateField HeaderText="ProductName" SortExpression="ProductName">
   <EditItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server"
       Text=''<%# Bind("ProductName") % >''></asp:TextBox>
  </EditItemTemplate>
  <ItemTemplate>
    <asp:Label ID="Label2" runat="server"
       Text=''<%# Bind("ProductName") % >''></asp:Label>
  </ItemTemplate>
</asp:TemplateField>

同样的,名为Discontinued的 CheckBoxField转换为TemplateField后,其ItemTemplate 和 EditItemTemplate 模板都将包含一个CheckBox Web控件(只是ItemTemplate模板里的CheckBox不可 用);而处于“只读”状态的ProductID BoundField转换成 TemplateField后,其ItemTemplate 和 EditItemTemplate 模板

都包含一 个Label控件。简而言之,将GridView里的某一列转换为一个 TemplateField,是 定制自定义模板的一种又快又容易的方法,且不会丧失该列应有的功能。

由于我们不需要GridView支持编辑功能,将每个TemplateField的 EditItemTemplate模板删除,只留下ItemTemplate模板。完成后, GridView的代 码看起来应和下面的差不多:

<asp:GridView ID="Products" runat="server" AutoGenerateColumns="False"
   DataKeyNames="ProductID" DataSourceID="ProductsDataSource"
   AllowPaging="True" EnableViewState="False" ShowFooter="True">
  <Columns>
     <asp:TemplateField HeaderText="ProductID" InsertVisible="False"
       SortExpression="ProductID">
   

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号