duhongyu216
public class user {
    public string name { get; set; }
    public string sex { get; set; }
    public string age { get; set; }
    public string sameRecTotal { get; set; }
    public string sexTotal { get; set; }
    public string sexDetail { get; set; }
}
public  List<user> List_Users() {
            List<user> list = new List<user>();
            list.Add(new user() { name = "张三", sex = "", age = "1" });
            list.Add(new user() { name = "李四", sex = "", age = "3" });
            list.Add(new user() { name = "王五", sex = "", age = "2" });
            list.Add(new user() { name = "赵六", sex = "", age = "7" });
            list.Add(new user() { name = "牛七", sex = "", age = "6" });
            list.Add(new user() { name = "马八", sex = "", age = "4" });
            list.Add(new user() { name = "杜十", sex = "", age = "4" });
            list.Add(new user() { name = "张三", sex = "", age = "70" });
            list.Add(new user() { name = "牛七", sex = "", age = "80" });
            return list;
        }
        //总记录数
        public int tCount;
        public List<user> bind_Date(int startRowIndex, int maximumRows, string getSex, string txtSearch)
        {
            List<user> tmp = List_Users();
            if (!string.IsNullOrEmpty(getSex))
            {
                tmp = tmp
                    .Where(p => p.sex.Equals(getSex))
                    .ToList();
            }
            if (!string.IsNullOrEmpty(txtSearch)) {
                tmp = tmp.Where(p => p.name.Contains(txtSearch)).ToList();
            }
            tmp = tmp.GroupBy(a => new { a.name, a.sex })
                    .Select(g => new user
                    {
                        name = g.Key.name,
                        sex = g.Key.sex,
                        age = g.Select(e => e.age).Aggregate((x, y) => x + "," + y),
                        sameRecTotal = g.Count().ToString(),
                        sexTotal = (from z in List_Users() where z.sex.Equals(g.Key.sex) select z).Count().ToString(),
                        sexDetail = (from i in List_Users() where i.sex.Equals(g.Key.sex) select i.name).Aggregate((x, y) => x + "," + y)
                    }).ToList();
                
            tCount = tmp.Count();
            return tmp.Skip(startRowIndex).Take(maximumRows).ToList();
        }
        //总记录数
        public int TotalCount(string getSex,string txtSearch)
        {
            return tCount;
        }

        protected void ListView1_PreRender(object sender, EventArgs e)
        {
        }
        //每次查询定位到首页
        protected void ObjectDataSource1_Load(object sender, EventArgs e)
        {
            DataPager1.SetPageProperties(0, 2, false);
        }

前台

        <div>
            <asp:DropDownList runat="server" ID="ddl_Sex" AutoPostBack="True" Style="margin-bottom: 0px">
                <asp:ListItem Value="" Text="全部性别"></asp:ListItem>
                <asp:ListItem Value="" Text=""></asp:ListItem>
                <asp:ListItem Value="" Text=""></asp:ListItem>
            </asp:DropDownList><asp:TextBox ID="txt_Search" runat="server"></asp:TextBox><asp:Button ID="btn_Search" Text="搜索" runat="server" />
        </div>
        <asp:ListView ID="ListView1" runat="server" ItemPlaceholderID="tr" DataSourceID="ObjectDataSource1" OnPreRender="ListView1_PreRender">
            <LayoutTemplate>
                <table border="0" style="">
                    <tr style="">
                        <th>name</th>
                        <th>sex</th>
                        <th>age</th>
                        <th>sameRecTotal</th>
                        <th>sexTotal</th>
                        <th>sexDetail</th>
                    </tr>
                    <tr id="tr" runat="server">
                    </tr>
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <tr style="">
                    <td><%# Eval("name") %></td>
                    <td><%# Eval("sex") %></td>
                    <td><%# Eval("age") %></td>
                    <td><%# Eval("sameRecTotal") %></td>
                    <td><%# Eval("sexTotal") %></td>
                    <td><%# Eval("sexDetail") %></td>
                </tr>
            </ItemTemplate>
        </asp:ListView>
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" EnablePaging="True" SelectCountMethod="TotalCount" SelectMethod="bind_Date" TypeName="WebApplication1.WebForm1" OnLoad="ObjectDataSource1_Load" OnSelecting="ObjectDataSource1_Selecting">
            <SelectParameters>
                <asp:ControlParameter ControlID="ddl_Sex" Name="getSex" Type="String" PropertyName="SelectedValue" />
                <asp:ControlParameter ControlID="txt_Search" Name="txtSearch" Type="String" PropertyName="Text" />
            </SelectParameters>
        </asp:ObjectDataSource>
        <asp:DataPager ID="DataPager1" runat="server" PageSize="2" PagedControlID="ListView1">
            <Fields>
                <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowNextPageButton="False" ShowPreviousPageButton="False" />
                <asp:NumericPagerField />
                <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" ShowNextPageButton="False" ShowPreviousPageButton="False" />
            </Fields>
        </asp:DataPager>

 

分类:

技术点:

相关文章: