1、窗体加载时初始化grid
private void LayOut() {

dgv.Font = new System.Drawing.Font("微软雅黑", 9F);
dgv.AutoGenerateColumns = false;
dgv.AllowUserToAddRows = false;
dgv.AllowUserToResizeColumns = true;
dgv.AllowUserToOrderColumns = true;

DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
checkBoxColumn.Width = 40;
checkBoxColumn.Name = "Check";
checkBoxColumn.HeaderText = "全选";
dgv.Columns.Add(checkBoxColumn);

CommonUtil.AddDgvColumns2(dgv, "id", "ID", 110);
CommonUtil.AddDgvColumns2(dgv, "name", "名称", 0, false);
CommonUtil.AddDgvColumns(dgv, "Img", "照片", 90);

}

2、添加公共类
//公共类
public class CommonUtil{
public static void AddDgvColumns(DataGridView dgv, string dgvName, string dgvHeadertext, int dgvWidth = 50, bool dgvVisible = true, bool dgvReadonly = true, bool _Frozen = false)
{
  if (dgvName == "Img")
  {
    DataGridViewImageColumn column = new DataGridViewImageColumn();
    column.ImageLayout = DataGridViewImageCellLayout.Zoom;
    column.Name = dgvName;
    column.DataPropertyName = dgvName;
    column.HeaderText = dgvHeadertext;
    column.Width = dgvWidth;
    column.Visible = dgvVisible;
    column.Frozen = _Frozen;//是否冻结
    dgv.Columns.Add(column);
 }
else
{
     dgvWidth = dgvWidth < 2 ? 2 : dgvWidth;
    DataGridViewColumn column = new DataGridViewTextBoxColumn();
    column.Frozen = _Frozen;//是否冻结
    column.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
    column.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
    column.ReadOnly = dgvReadonly;
    column.Name = dgvName;
    column.DataPropertyName = dgvName;
    column.HeaderText = dgvHeadertext;
    column.Width = dgvWidth;
    column.Visible = dgvVisible;
    column.MinimumWidth = dgvWidth;
//column.SortMode = DataGridViewColumnSortMode.NotSortable;
    dgv.Columns.Add(column);
  }
} public static void AddDgvColumns2(DataGridView dgv, string dgvName, string dgvHeadertext, int dgvWidth = 50, bool dgvVisible = true, bool dgvReadonly = true, bool _Frozen = false)
{
dgvWidth = dgvWidth < 2 ? 2 : dgvWidth;
DataGridViewColumn column = new DataGridViewTextBoxColumn();
column.Frozen = _Frozen;//是否冻结
column.AutoSizeMode = DataGridViewAutoSizeColumnMode.None; column.ReadOnly = dgvReadonly;
column.Name = dgvName;
column.DataPropertyName = dgvName;
column.HeaderText = dgvHeadertext;
column.Width = dgvWidth;
column.Visible = dgvVisible;
column.MinimumWidth = dgvWidth;
if (!dgvReadonly)
{
column.HeaderText = dgvHeadertext + "*";
}
//column.SortMode = DataGridViewColumnSortMode.NotSortable;
dgv.Columns.Add(column);
}
}

3、数据绑定

private void LoadList(){
  string sql="select * from user";
  DataSet ds=new DataSet();
  SqlHelper.ExecuteDataSet(ref ds, sql);
  DataTable dt2 = ds.Tables[1];
dt.Columns.Add("Img", typeof(Image));
dgv.Columns["Img"].DefaultCellStyle.NullValue = null;
dgv.DataSource = dt2;
for (int i = 0; i < dgv.RowCount; i++)
{
string imgpath = dgv.Rows[i].Cells["imgUrl"].Value.ToString();
dgv.Rows[i].Cells["Img"].Value = CommonUtil.GetFtpImage(imgpath);//获取照片对象
}
}

分页使用别的方式

使用SunnyUI的datagridview常用代码(个人常用)的更多相关文章

  1. iOS代码加密常用加密方式

    iOS代码加密常用加密方式 iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密.AES加密.BASE64加密,三大算法iOS代码加密是如何进行加密的,且看下文 MD5 iO ...

  2. GCD 常用代码

    GCD 常用代码 体验代码 异步执行任务 - (void)gcdDemo1 { // 1. 全局队列 dispatch_queue_t q = dispatch_get_global_queue(0, ...

  3. H5常用代码:页面框架

    万变不离其宗,道法自然! 虽然H5的小项目一波又一波,但有一个东东基本没什么变化,那就是整个页面的框架结构. 我所常用的H5常用页面框架如下: <!DOCTYPE html> <ht ...

  4. 转--Android实用的代码片段 常用代码总结

    这篇文章主要介绍了Android实用的代码片段 常用代码总结,需要的朋友可以参考下     1:查看是否有存储卡插入 复制代码 代码如下: String status=Environment.getE ...

  5. 刀哥多线程之03GCD 常用代码

    GCD 常用代码 体验代码 异步执行任务 - (void)gcdDemo1 { // 1. 全局队列 dispatch_queue_t q = dispatch_get_global_queue(0, ...

  6. jquery常用代码集锦

    1. 如何修改jquery默认编码(例如默认GB2312改成 UTF-8 ) 1 2 3 4 5 $.ajaxSetup({     ajaxSettings : {         contentT ...

  7. Mysql:常用代码

    C/S: Client Server B/S: Brower Server Php主要实现B/S .net IIS Jave TomCat LAMP:L Mysql:常用代码 Create table ...

  8. javascript常用代码大全

    http://caibaojian.com/288.html    原文链接 jquery选中radio //如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_ca ...

  9. Android 常用代码大集合 [转]

    [Android]调用字符串资源的几种方法   字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...

  10. NSIS常用代码整理

    原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...

随机推荐

  1. KingbaseES 自增列三种方式

    KingbaseES中3种自增长类型sequence,serial,identity的区别: 对象 显示插入 显示插入后更新最大值 清空表后是否重置 是否跟事务一起回滚 多对象共享 支持重置 出现错误 ...

  2. centOS查看修改时区

    // 查看时间各种状态,查看时区等 timedatectl // 输出 Local time: 四 2014-12-25 10:52:10 CST Universal time: 四 2014-12- ...

  3. 玩转Configmap配置应用的各种姿势

    在 k8s 中使用配置主要可以有以下几种方式来实现: 1. 向容器传递命令行参数 2. 为每个容器指定自定义的环境变量 3. 通过特殊类型的卷将配置文件挂载到容器中 在 k8s 中覆盖命令行参数 和 ...

  4. Elasticsearch:如何对PDF文件进行搜索

    Elasticsearch 通常用于字符串,数字,日期等数据类型的检索,但是在 HCM.ERP 和电子商务等应用程序中经常存在对办公文档进行搜索的需求.今天的这篇文章中我们来讲一下如何实现 PDF.D ...

  5. 企业使用erp系统的好处及解决了什么问题?

    不是所有的企业使用ERP都能带来好处的,尤其是对于一些小微企业,带来的可能是灾难,而实施不适用的系统同样也会带来意想不到的后果,所以在ERP的使用方面得根据自己企业实际做决定.不同规模的企业选用不同的 ...

  6. 影响 erp 系统实施成功的因素是什么?

    影响ERP系统实施成功的因素很多,主要有以下几点:企业一把手是否大力支持.实施顾问是否专业负责.ERP系统是否强大灵活且适用三个方面!没有企业一把手的大力支持,ERP的应用基本上不可能获得成功.ERP ...

  7. JSP实现登录删除添加星座等(带样式)

    功能要求 1.完成两个页面 2.第一个登陆页面login. jsp 3.第二个用户管理页面useManage. jsp 4.有登录功能(能进行用户名密码的校验,用户名若为自己的学号密码为班级号,允许登 ...

  8. Opencv环境配置及踩坑

    Opencv环境配置及踩坑 1.什么是Opencv OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和[ ...

  9. Qt class 前置声明

    转载:https://www.cnblogs.com/ycbeginner/p/9403976.html 在Qt开发项目中,经常会用到各种库,但是一般在.h文件中进行某类型变量定义时,都会对其类型的c ...

  10. 驱动开发:内核遍历进程VAD结构体

    在上一篇文章<驱动开发:内核中实现Dump进程转储>中我们实现了ARK工具的转存功能,本篇文章继续以内存为出发点介绍VAD结构,该结构的全程是Virtual Address Descrip ...