C# winform 分页控件 datagridview列宽度自适应

版权归原作者(伍华聪)所有。

VS2019 .Net FrameWork 4.7.2

1、修改按钮上文字,调整按钮大小。修改按钮和文本框字体为Microsoft Sans Serif, 9pt”,字体电脑中都有,可以尽量水平和垂直居中。

2、因为没有文档,导出excel总不成功,取消掉了导出按钮。

3、修改分页控件水平居中。

下载 视频

4、datagridview列宽度自适应

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DAL;
using WHC.Pager.Entity;

namespace CertificateRecognition
{
    public partial class Employees : DevExpress.XtraEditors.XtraForm
    {
        int width = 0;
        public Employees()
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;
            this.WindowState = FormWindowState.Maximized;
            this.ShowInTaskbar = false;
            this.Text = "员工管理";
            this.winGridViewPager_Emp.ShowLineNumber = false;//显示行号
            this.winGridViewPager_Emp.dataGridView1.ContextMenuStrip = null;
            //this.winGridViewPager_Emp.PagerInfo.PageSize = 30;
        }

        private void Employees_Load(object sender, EventArgs e)
        {
            BindData();

            this.winGridViewPager_Emp.OnPageChanged += new EventHandler(winGridViewPager_Emp_OnPageChanged);
            this.winGridViewPager_Emp.OnStartExport += new EventHandler(winGridViewPager_Emp_OnStartExport);
            this.winGridViewPager_Emp.OnEditSelected += new EventHandler(winGridViewPager_Emp_OnEditSelected);
            this.winGridViewPager_Emp.OnDeleteSelected += new EventHandler(winGridViewPager_Emp_OnDeleteSelected);
            this.winGridViewPager_Emp.OnRefresh += new EventHandler(winGridViewPager_Emp_OnRefresh);
            this.winGridViewPager_Emp.OnAddNew += new EventHandler(winGridViewPager_Emp_OnAddNew);

        }

        private void winGridViewPager_Emp_OnPageChanged(object sender, EventArgs e)
        {
            BindData();
        }

        private void winGridViewPager_Emp_OnRefresh(object sender, EventArgs e)
        {

        }

        private void winGridViewPager_Emp_OnDeleteSelected(object sender, EventArgs e)
        {

        }

        private void winGridViewPager_Emp_OnAddNew(object sender, EventArgs e)
        {

        }

        private void winGridViewPager_Emp_OnEditSelected(object sender, EventArgs e)
        {

        }

        private void winGridViewPager_Emp_OnEndExport(object sender, EventArgs e)
        {

        }

        private void winGridViewPager_Emp_OnStartExport(object sender, EventArgs e)
        {

        }

        private void BindData()
        {
            this.winGridViewPager_Emp.DisplayColumns = "UserID,TelNum,RealName,LoginNum,LastLoTime,RegTime";
            this.winGridViewPager_Emp.AddColumnAlias("UserID", "编号");
            this.winGridViewPager_Emp.AddColumnAlias("TelNum", "电话号码");
            this.winGridViewPager_Emp.AddColumnAlias("RealName", "姓名");
            this.winGridViewPager_Emp.AddColumnAlias("LoginNum", "登录次数");
            this.winGridViewPager_Emp.AddColumnAlias("LastLoTime", "最后登录时间");
            this.winGridViewPager_Emp.AddColumnAlias("RegTime", "注册时间");
            int recount;
            int pageCount;
            winGridViewPager_Emp.DataSource = new DAL.UserDAL().GetUserPage("", "", winGridViewPager_Emp.PagerInfo);
            //对于DataGridView的每一个列都调整
            for (int i = 0; i < this.winGridViewPager_Emp.dataGridView1.Columns.Count; i++)
            {
                //将每一列都调整为自动适应模式
                this.winGridViewPager_Emp.dataGridView1.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells);
                //记录整个DataGridView的宽度
                width += this.winGridViewPager_Emp.dataGridView1.Columns[i].Width;
            }
            //判断调整后的宽度与原来设定的宽度的关系,如果是调整后的宽度大于原来设定的宽度,
            //则将DataGridView的列自动调整模式设置为显示的列即可,
            //如果是小于原来设定的宽度,将模式改为填充。
            if (width > this.winGridViewPager_Emp.Size.Width)
            {
                this.winGridViewPager_Emp.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
            }
            else
            {
                this.winGridViewPager_Emp.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            }
            this.winGridViewPager_Emp.dataGridView1.Refresh();

        }
    }
}

特此留念。

原文地址:https://www.cnblogs.com/gwjtssy/p/12253128.html

时间: 2024-10-12 17:25:34

C# winform 分页控件 datagridview列宽度自适应的相关文章

类似web风格的 Winform 分页控件

背景 最近做一个Winform的小程序,需要用到分页,由于之前一直在用 TonyPagerForWinForm.dll ,但该库没有源代码,网上找的也不全面,索性就准备自己改造一个.在园子里翻了一下,发现路过秋天在多年前写了个分页控件,Winform 通用分页控件实战篇(提供源码下载).站在大神的肩膀上就是快,一会就改好了. 效果图 功能比较齐全,不过样式上,楼主十分喜欢easyUI或ext的列表分页风格.于是换了几个按钮,添加了图标,看看现在的效果. 控件源码在正文最下方. 使用简介 就那么一

在DevExpress程序中使用Winform分页控件直接录入数据并保存

一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数据,这种对于字段比较少,而且内容相对比较简单的情况下,效率是比较高的一种输入方式.本篇随笔主要介绍在DevExpress程序中使用GridView直接录入数据并保存的实现,以及使用Winform分页控件来进行数据直接录入的实现操作. 1.在GridView上展示数据 在GridView上展示数据,只

winform分页控件

五一过的一多半已经过去了,感觉过的真快. 言归正传说说最近一直在用的winform分页控件. 一. 添加新项-用户控件 二.拖控件,这个很简单 三.写代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Win

[原创]WinForm分页控件制作

先简单说一下思路: 1.做一个分页控件的导航类,即记录总页数.当前页.每页记录数,下一页.上一页.跳转等操作的页数变更. class PageNavigation{/// <summary>/// display item count for per page/// default value is 20/// </summary>private int _iPerItemCount = 20;public int PerItemCount{get { return _iPerIt

学习Winform的控件DataGridView的一般使用

先上学习测试的一些截图 1:获取多个控件上面的值(checkbox,combobox,textbox,radiobutton) 2:获取到选择行的主键ID的value,方便我们进一步CURD 3:获取选择一行的数据以及一行是多少列 4:绑定显示自定义的列头名称 5:选中一行的属性设置操作 6:全部代码 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.

如何Windows分页控件中增加统计功能

在我的博客里面,很多Winform程序里面都用到了分页处理,这样可以不管是在直接访问数据库的场景还是使用网络方式访问WCF服务获取数据,都能获得较好的效率,因此WInform程序里面的分页控件的使用是很好的一个解决方式,它能够快速获取数据,并将可能减少我们增加太多的代码逻辑,实现简单.高效.统一的理念.本篇主要介绍如何在分页的GridControl里面如何实现数据的统计功能. 一般情况下,分页控件呈现分为两种方式,一种需要有分页码的真正分页处理,一种是不需要分页处理,但是列表和功能基本保持一致的

WinForm下编写分页控件,实现DataGridView的分页效果

 前几天做C/S项目的时候用到了分页查询,所以就想去网上找一些封装好的分页控件,类似BS项目中的那种.但是找了好几个都不是特别的好,没有自己想要的.而且WinForm 里面的DataGridView也不像WebForm里面的GridView那样有自带的分页功能.没办法还是自己动手封装一个吧,以后复用也方便. 从网上找了几个demo做了一下,实现挺简单的. 用到的方法就是编写一个用户控件,下面说明如何实现: 一,先画界面 新建一个用户控件,然后拖拽几个标签,文本框和按钮,排列好.如下图所示:

winform 自定义分页控件 及DataGridview数据绑定

分页效果如上图所示,用到的控件均为基本控件 ,其方法如下 右击项目-添加-新建项 选择用户控件 然后在用户控件中拖入所需要的Label,Button,Text 用户控件全部代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; usin

C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法

C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法 1.新建组件这里可以自定义一个Panel控件起名为PanelEx 2.增加一个BoderColor属性和BoderSize属性 1 private Color _BorderColor = Color.Black; 2 3 [Browsable(true), Description("边框颜色"), Category("自定义分组")] 4 public Color BorderColor 5 {