Listview用法

162 篇文章 4 订阅
选择例子   【学习源码下载】


前端代码:


<asp:ListView ID="ListView1" runat="server"   
            onselectedindexchanging="ListView1_SelectedIndexChanging">  
            <LayoutTemplate>  
                <table id="Table1" runat="server" border="0" style="">  
                    <tr runat="server" id="itemPlaceholder" />  
                </table>  
            </LayoutTemplate>  
            <ItemTemplate>  
                <tr>  
                    <td>  
                        <%#Eval("ID") %>  
                    </td>  
                    <td>  
                        <asp:Label ID="idLabel" runat="server" Text='<%# Eval("name") %>' />  
                    </td>  
                    <td>  
                        <asp:Label ID="xLabel" runat="server" Text='<%# Eval("age") %>' />  
                    </td>  
                    <td>  
                    <asp:Button ID="SelectButton" CommandName="Select" runat="server" Text="选择" />  
                    </td>  
                      
                </tr>  
            </ItemTemplate>  
            <SelectedItemTemplate>  
            <tr style="background-color:Blue">  
                    <td>  
                        <%#Eval("ID") %>  
                    </td>  
                    <td>  
                        <asp:Label ID="idLabel" runat="server" Text='<%# Eval("name") %>' />  
                    </td>  
                    <td>  
                        <asp:Label ID="xLabel" runat="server" Text='<%# Eval("age") %>' />  
                    </td>  
                    <td>  
                    <asp:Button ID="SelectButton" CommandName="Select" runat="server" Text="选择" />  
                    </td>  
                      
                </tr>  
            </SelectedItemTemplate>  
       </asp:ListView>  
后台代码:


protected void ListView1_SelectedIndexChanging(object sender, ListViewSelectEventArgs e)  
    {  
        ListView1.SelectedIndex = e.NewSelectedIndex;  
        Bind();  
    }  
排序




前端代码:


<asp:ListView ID="ListView1" runat="server" OnSorting="ListView1_Sorting">  
            <LayoutTemplate>  
                <table id="Table1" runat="server" border="0" style="">  
                    <tr>  
                        <td>  
                            <asp:LinkButton ID="LinkButton1" CommandArgument="ID" runat="server" CommandName="Sort">ID</asp:LinkButton>  
                        </td>  
                        <td>  
                            <asp:LinkButton ID="LinkButton2" CommandArgument="Name" runat="server" CommandName="Sort">Name</asp:LinkButton>  
                        </td>  
                        <td>  
                            <asp:LinkButton ID="LinkButton3" CommandArgument="Age" runat="server" CommandName="Sort">Age</asp:LinkButton>  
                        </td>  
                    </tr>  
                    <tr runat="server" id="itemPlaceholder" />  
                </table>  
            </LayoutTemplate>  
            <ItemTemplate>  
                <tr>  
                    <td>  
                        <%#Eval("ID") %>  
                    </td>  
                    <td>  
                        <%# Eval("name") %>  
                    </td>  
                    <td>  
                        <%# Eval("age") %>  
                    </td>  
                </tr>  
            </ItemTemplate>  
        </asp:ListView>  
排序模拟数据提供代码:


namespace Data  
{  
    /// <summary>  
    ///DataAccess 的摘要说明  
    /// </summary>  
    public class DataAccess  
    {  
        public List<Employee> List;  
        public DataAccess()  
        {  
            List = new List<Employee>();  
            Employee e1 = new Employee { ID = 1, Name = "A", Age = 10 };  
            Employee e2 = new Employee { ID = 3, Name = "M", Age = 30 };  
            Employee e3 = new Employee { ID = 2, Name = "B", Age = 40 };  
            Employee e4 = new Employee { ID = 4, Name = "S", Age = 19 };  
            Employee e5 = new Employee { ID = 6, Name = "X", Age = 18 };  
            Employee e6 = new Employee { ID = 5, Name = "W", Age = 20 };  
            List.Add(e1);  
            List.Add(e2);  
            List.Add(e3);  
            List.Add(e4);  
            List.Add(e5);  
            List.Add(e6);  
        }  
        public void SortID( string sortDirection)  
        {  
            if (sortDirection == "ASC")  
            {  
                List.Sort(new EmployeeIDAscCompare());  
            }  
            else  
            {  
                List.Sort(new EmployeeIDDescCompare());  
            }  
        }  
    }  
    class EmployeeIDAscCompare:IComparer<Employee>  
    {  
  
        #region IComparer<Employee> 成员  
  
        public int Compare(Employee x, Employee y)  
        {  
            return x.ID.CompareTo(y.ID);  
        }  
  
        #endregion  
    }  
    class EmployeeIDDescCompare : IComparer<Employee>  
    {  
  
        #region IComparer<Employee> 成员  
  
        public int Compare(Employee x, Employee y)  
        {  
            return y.ID.CompareTo(x.ID);  
        }  
  
        #endregion  
    }  
      
    public class Employee  
    {  
        public int ID { get; set; }  
        public string Name { get; set; }  
        public int Age { get; set; }  
        public int Sex { get; set; }  
    }  
}  
排序后台代码:


public partial class Default3 : System.Web.UI.Page  
{  
    DataAccess da;  
    protected void Page_Load(object sender, EventArgs e)  
    {  
        if (Session["da"] == null)  
        {  
            da = new DataAccess();  
            Session["da"] = da;  
        }  
        else  
        {  
            da = Session["da"] as DataAccess;  
        }  
        if (!IsPostBack)  
        {  
            Bind();  
        }  
    }  
    private void Bind()  
    {  
        ListView1.DataSource = da.List;  
        ListView1.DataBind();  
    }  
    protected void ListView1_Sorting(object sender, ListViewSortEventArgs e)  
    {  
        if (String.IsNullOrEmpty(e.SortExpression)) { return; }  
        string direction = "";  
        if (ViewState["SortDirection"] != null)  
            direction = ViewState["SortDirection"].ToString();  
  
        if (direction == "ASC")  
            direction = "DESC";  
        else  
            direction = "ASC";  
  
        ViewState["SortDirection"] = direction;  
  
        da.SortID(direction);  
        Bind();  
    }  
}  
分页例子


前端代码:


<asp:ListView ID="ListView1" runat="server" OnPagePropertiesChanging="ListView1_PagePropertiesChanging1">  
            <LayoutTemplate>  
                <table id="Table1" runat="server" border="0" style="">  
                    <tr runat="server" id="itemPlaceholder" />  
                </table>  
            </LayoutTemplate>  
            <ItemTemplate>  
                <tr>  
                    <td>  
                        <%#Eval("ID") %>  
                    </td>  
                    <td>  
                        <%# Eval("name") %>  
                    </td>  
                    <td>  
                        <%# Eval("age") %>  
                    </td>  
                </tr>  
            </ItemTemplate>  
        </asp:ListView>  
    </div>  
    <div style="padding: 10px; text-align: right;">  
        <asp:DataPager ID="Pager" runat="server" PagedControlID="ListView1" PageSize="2">  
            <Fields>  
                <asp:NumericPagerField ButtonCount="10" NextPageText="" PreviousPageText="" />  
                <asp:NextPreviousPagerField FirstPageText="First" LastPageText="Last" NextPageText="Next"  
                    PreviousPageText="Previous" />  
            </Fields>  
        </asp:DataPager>  
    </div>  
后台代码:


protected void ListView1_PagePropertiesChanging1(object sender, PagePropertiesChangingEventArgs e)  
    {  
        Pager.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);  
        Bind();  
    }  


本文来自网学(http://myeducs.cn),转载请注明出处:http://myeducs.cn/lunwen-resource/Net-biancheng/ListView-shixianxuanze-paixu-fenye/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值