示例#1
0
        public void BindDgv()
        {
            SqlSugarClient db = null;

            try
            {
                db = SqlLiteHelper.GetInstance();
                if (!File.Exists(Device.DB_FilePath))
                {
                    MessageBox.Show("文件下载中,请稍后再试!");
                    return;
                }
                var sourceList = db.Queryable <SYS_USERROOM, SYS_MODELS>((u, m) => new object[] {
                    JoinType.Left, u.GUID == m.GUID
                })
                                 .Select((u, m) => new
                {
                    u.GUID,
                    u.NAME,
                    u.CREATETIME,
                    m.MODELID,
                    m.FEATURE,
                    u.STARTTIME,
                    u.ENDTIME,
                    u.AREACODE,
                    u.AREANAME,
                    u.USERTYPE,
                });
                if (!string.IsNullOrWhiteSpace(txtName.Text))
                {
                    sourceList = sourceList.Where(u => u.NAME.Contains(txtName.Text));
                }
                TotalCount = sourceList.Count();
                if (PageIndex <= 1)
                {
                    PageIndex = 1;
                }
                var maxPageIndex = Math.Ceiling((decimal)TotalCount / (decimal)PageSize);
                if (PageIndex >= maxPageIndex)
                {
                    PageIndex = maxPageIndex.ToInt32();
                }
                var skip = (PageIndex - 1) * PageSize;
                sourceList = sourceList.Take(PageSize).Skip(skip)
                             .OrderBy(u => u.CREATETIME, OrderByType.Desc);
                dataGridView1.AutoGenerateColumns = false;
                dataGridView1.DataSource          = sourceList.ToList();
                lblTotalCount.Text = $"第{PageIndex}页,每页{PageSize}条,总数:" + TotalCount;
            }
            catch (Exception ex)
            {
                MessageBox.Show("文件下载中,请稍后再试!");
            }
            db.Close();
            db.Dispose();
            System.Data.SQLite.SQLiteConnection.ClearAllPools();
        }