zoukankan      html  css  js  c++  java
  • ListView的使用

     <asp:ListView ID="QiFang_Data_List" runat="server" DataSourceID="QiFang_Datasource" OnItemUpdating="QiFang_Data_List_ItemUpdating">
            <LayoutTemplate>
                <table id="UserData" class="TableSub">
                    <tr>
                        <th scope="col">
                            <asp:Label ID="LinkButton1" runat="server" Text="户型" />
                        </th>
                        <th scope="col">
                            <asp:Label ID="LinkButton2" runat="server" Text="期房总数" />
                        </th>
                        <th scope="col">
                            <asp:Label ID="LinkButton3" runat="server" Text="已选期房总数" />
                        </th>
                        <th scope="col">
                            修改
                        </th>
                    </tr>
                    <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <tr>
                    <td align="center">
                        <%#Eval("ROOM_SHAPE")%>
                    </td>
                    <td align="center">
                        <%#Eval("QiFangCount")%>
                    </td>
                    <td align="center">
                        <%#Eval("YiXuanCount")%>
                    </td>
                    <td align="center">
                        <asp:LinkButton ID="btn_Edit" runat="server" Text="修改" CommandName="Edit"></asp:LinkButton>
                    </td>
                </tr>
            </ItemTemplate>
            <EditItemTemplate>
                <tr>
                    <td align="center">
                        <asp:Label ID="lbl_room_shape" runat="server" Text='<%# Bind("ROOM_SHAPE") %>'></asp:Label>
                    </td>
                    <td align="center">
                        <asp:TextBox ID="txt_Count" Text='<%#Eval("QiFangCount")%>' runat="server"></asp:TextBox>
                        <asp:HiddenField ID="fg_Count" runat="server" Value='<%#Eval("QiFangCount")%>' />
                        <asp:HiddenField ID="hf_blockId" runat="server" Value='<%#Eval("BLOCK_ID")%>' />
                    </td>
                    <td align="center">
                    <asp:Label ID="lbl_yixuanCount" runat="server" Text='<%# Bind("YiXuanCount") %>'></asp:Label>
                    </td>
                    <td align="center">
                        <asp:Button ID="btn_Update" runat="server" CommandName="Update" Text="确认" CssClass="btn" />
                        &nbsp;
                        <asp:Button ID="btn_Cancel" runat="server" CommandName="Cancel" Text="取消" CausesValidation="false"
                            CssClass="btn" />
                    </td>
                </tr>
            </EditItemTemplate>
            <EmptyItemTemplate>
                没有数据
            </EmptyItemTemplate>
        </asp:ListView>

    <EditItemTemplate></EditItemTemplate>这个主要是当你点击“修改”触发了Edit命令,这样的话ListVIew就会显示的是<EditItemTemplate>里面的

    你设定好的内容,进行编辑。。。。这里有个地方要注意的是当你想获取<EditItemTemplate>里面某个值时,那么你只能用控件的方式来显示出来,这样的话

    ListView才能在后台取到该值,用的是

    string qifangCount = ((TextBox)QiFang_Data_List.Items[e.ItemIndex].FindControl("txt_Count")).Text.Trim();

    当你修改完成后点击“确认”时,CommandName="Update"触发,触发的是ListView的OnItemUpdating="QiFang_Data_List_ItemUpdating"方法

    View Code
    /// <summary>
            /// 修改操作
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void QiFang_Data_List_ItemUpdating(object sender, ListViewUpdateEventArgs e)
            {
    
                string qifangCount = ((TextBox)QiFang_Data_List.Items[e.ItemIndex].FindControl("txt_Count")).Text.Trim();
                string yixuanCount = ((Label)QiFang_Data_List.Items[e.ItemIndex].FindControl("lbl_yixuanCount")).Text.Trim();
                string message = "";
    
                string OldCount = ((HiddenField)QiFang_Data_List.Items[e.ItemIndex].FindControl("fg_Count")).Value.Trim();//原本的期房总数
                string block_id = ((HiddenField)QiFang_Data_List.Items[e.ItemIndex].FindControl("hf_blockId")).Value.Trim();//楼层ID
                string room_shape = ((Label)QiFang_Data_List.Items[e.ItemIndex].FindControl("lbl_room_shape")).Text.Trim();
                if (new QiFangManager().Modify_Room_Count(qifangCount,yixuanCount,OldCount,block_id,room_shape,out message) == false)
                 {
                     MessageBoxs.Show(message);
                     return; 
                 }
                 else
                 {
                     MessageBoxs.Show(message);
                 }
                
            }

    调用完这个方法后,这个CommandName="Update"还没有彻底结束,之后又做了什么呢????

    因为这里ListView绑定数据源为ObjectDataSource,这样的话会之后还会触发

    ObjectDataSource的UpdateMethod="Update_QiFang_Room"方法,这个方法可以设定参数:

    <UpdateParameters>
         <asp:Parameter Name="familyFeeID" Type="Int64" />
    </UpdateParameters>这里我没有用到

    另外记下自己的这次做的页面地址,老是做完之后在项目中找不到自己完成的页面,仅作记录:

    D:\10.38\BQSolution\BQ.WebApp\FangYuan\QiFangList.aspx

  • 相关阅读:
    javaweb web.xml文件详解
    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
    系统环境搭建问题汇总
    从关系型数据库到非关系型数据库
    SpringMVC学习系列(3) 之 URL请求到Action的映射规则
    Spring MVC的实现原理
    谈谈对Spring IOC的理解
    hash算法 (hashmap 实现原理)
    为什么不能用两次握手进行连接?
    JVM内存管理和JVM垃圾回收机制
  • 原文地址:https://www.cnblogs.com/wenghaowen/p/2883420.html
Copyright © 2011-2022 走看看