ListView控件(一)--增,删,改,查

ASP.NET3.5中包含了新的数据绑定控件--ListView,这是一个类似与repeater与gridview结合的控件,可以实现添加,删除功能,同时还可以像repeater一样灵活的控制页面的布局。该控件包含了很多新的模板,比如GroupTemplate等新增的模板,可以方便的分组显示数据。详细的大家可以去查MSDN文档。

我一直认为学习数据绑定控件从最简单的增删改查开始,可以对该控件有较深刻的理解,这样可以举一反三,在进行综合运用。今天这篇文章还是从最基本的数据操作开始,对ListView有个感性的认识。

首先看一下程序运行的效果:

 

页面源码:

<asp:ListView ID="ListView1" runat="server" OnSelectedIndexChanging="ListView1_SelectedIndexChanging"

    OnItemCommand="ListView1_ItemCommand" OnItemEditing="ListView1_ItemEditing" OnItemCanceling="ListView1_ItemCanceling"

    OnItemDataBound="ListView1_ItemDataBound" OnPagePropertiesChanging="ListView1_PagePropertiesChanging"

    OnItemInserting="ListView1_ItemInserting" OnItemUpdating="ListView1_ItemUpdating"

    OnSorting="ListView1_Sorting" EnableViewState="true" InsertItemPosition="LastItem"

    OnItemDeleting="ListView1_ItemDeleting">

    <LayoutTemplate>

        <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>

        <p>

            <asp:DataPager ID="MyPage" runat="server" PageSize="6">

                <Fields>

                    <asp:NumericPagerField ButtonCount="10" PreviousPageText="<-- " NextPageText="-->" />

                    <%...-- <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="true" ShowLastPageButton="true"

ShowNextPageButton="true" ShowPreviousPageButton="true" /> --%>

                </Fields>

            </asp:DataPager>

        </p>

    </LayoutTemplate>

    <ItemTemplate>

        <i>

            <%...#Eval("SupplierID")%></i>

        <p>

            <b>

                <%...#Eval("CompanyName")%></b></p>

        <p>

            <%...#Eval("ContactName")%></p>

        <p>

            <%...#Eval("Address")%></p>

        <p>

            <%...#Eval("City")%></p>

        <asp:Button ID="btnEdit" runat="server" Text="Edit" CommandName="Edit" />

        <asp:Button ID="btnDelete" runat="server" Text="Delete" CommandName="Delete" />

        <%...--  <asp:LinkButton ID="lbtnSort" runat="server" Text="Sort" CommandName="Sort" CommandArgument="CompanyName" ></asp:LinkButton>--%>

    </ItemTemplate>

    <EditItemTemplate>

        <asp:TextBox ID="txtMy" runat="server" Text='<%#bind("SupplierID") %>'></asp:TextBox>

        <asp:TextBox ID="TextBox1" runat="server" Text='<%#bind("CompanyName") %>'></asp:TextBox>

        <asp:TextBox ID="TextBox2" runat="server" Text='<%#bind("ContactName") %>'></asp:TextBox>

        <asp:TextBox ID="TextBox3" runat="server" Text='<%#bind("Address") %>'></asp:TextBox>

        <asp:TextBox ID="TextBox4" runat="server" Text='<%#bind("City") %>'></asp:TextBox>

        <asp:Button ID="btnUpdate" runat="server" Text="Update" CommandName="Update" />

        <asp:Button ID="btnCancle" runat="server" Text="Cancle" CommandName="Cancel" />

    </EditItemTemplate>

    <InsertItemTemplate>

        <asp:TextBox ID="txtMy" runat="server" Text='<%#bind("SupplierID") %>'></asp:TextBox>

        <asp:TextBox ID="TextBox1" runat="server" Text='<%#bind("CompanyName") %>'></asp:TextBox>

        <asp:TextBox ID="TextBox2" runat="server" Text='<%#bind("ContactName") %>'></asp:TextBox>

        <asp:TextBox ID="TextBox3" runat="server" Text='<%#bind("Address") %>'></asp:TextBox>

        <asp:TextBox ID="TextBox4" runat="server" Text='<%#bind("City") %>'></asp:TextBox>

        <asp:Button ID="btnUpdate" runat="server" Text="Insert" CommandName="Insert" />

        <asp:Button ID="btnCancle" runat="server" Text="Cancle" CommandName="Cancel" />

    </InsertItemTemplate>

    <ItemSeparatorTemplate>

        <div style="height: 0px; border-top: dashed 1px #ff0000">

        </div>

    </ItemSeparatorTemplate>

</asp:ListView>

这部分代码中有个重要的部分就是通过<LayoutTemplate>模板来设置控件的样式,布局,这也是新增的模板。在VS.NET2008的正式版本中,要正常运行页面必须在该模板中加入一个名为itemPlaceholder的PlaceHolder控件。要不会出现如下异常:

An item placeholder must be specified on ListView 'ListView1'. Specify an item placeholder by setting a control's ID property to "itemPlaceholder".

<ItemTemplate>模板用来绑定显示到页面上的数据, <EditItemTemplate>用来显示处于编辑状态的时候显示的数据,其他的可以以此类推。

与ListView还搭配的一起使用了新增的DataPager控件,这个主要是用于ListView控件的分页,是新增的分页空也,可以方便,高效的进行分页。

后台代码:

以前的edit_cancel事件在ListView控件中为item_cancel,在该事件中可以判断是取消编辑还是取消插入新的数据。大家可以看代码。本篇文章主要是对ListView控件一些基本的事件的运用。下一篇会继续深入的学习该控件。

 

 来自:http://blog.csdn.net/oyjd614/archive/2007/12/05/1919195.aspx

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值