1. 程式人生 > >linq查詢並分頁

linq查詢並分頁

</pre><pre name="code" class="csharp">            this.dataGridView1.Columns.Clear(); //清空資料


            if (pageindex == 1)
                button4.Enabled = false;
            else
                button4.Enabled = true;

            if (pageindex == pagecount)

                button5.Enabled = false;
            else
                button5.Enabled = true;


            panel1.Visible = true;

            string roomid = tbRoomID.Text.ToString();
            string roomtype = tbRoomType.Text.ToString();

            panel1.Visible = false;

            var quert = from dt1 in dt.AsEnumerable() select dt1;

            if (roomid.Length > 0)
            {
                quert = quert.Where(c => c.Field<string>("roomid").IndexOf(roomid) != -1);
            }

            if (roomtype.Length > 0)
            {
                quert = quert.Where(c => c.Field<string>("typeids").IndexOf(roomtype) != -1);
            }

            if (quert != null && quert.Count() > 0)
            {

                pagecount = quert.Count() % pagesize == 0 ? quert.Count() / pagesize : quert.Count() / pagesize + 1;

                int formint = pagesize * (pageindex - 1);
                int endint = pagesize;

                var querts = quert.Skip(formint).Take(endint);

                DataGridViewCheckBoxColumn checkboxcolumn = new DataGridViewCheckBoxColumn();
                checkboxcolumn.Name = "Delete";

                this.dataGridView1.Columns.Add(checkboxcolumn);

                this.dataGridView1.DataSource = querts.CopyToDataTable();

                DataGridViewButtonColumn butcolumn = new DataGridViewButtonColumn();
                butcolumn.Name = "Edit";

                butcolumn.UseColumnTextForButtonValue = true;
                butcolumn.Text = "UpData";
                this.dataGridView1.Columns.Add(butcolumn);

            }
            else
            {
                panel1.Visible = true;
            }