DataGridView   更改类型

需要用到重绘

            DataGridViewTextBoxColumn aa01 = new DataGridViewTextBoxColumn();
aa00.DataPropertyName = "题目"; //绑定数据源的名称
aa00.HeaderText = "题目00000"; //显示的名称
aa00.Name = "题目"; //列的名称
dataGridView1.Columns.Insert(, aa01);

//绑定重绘事件


 private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
try
{
int index = dgv.Columns["状态"].Index; //获取列的索引值
if (e.ColumnIndex >= index) // ColumnIndex 正在格式化单元格的索引
{
if (e.Value.GetType().Name == "Boolean")
{
if ((bool)e.Value)
{
e.Value = "✔";
}
else
{
e.Value = string.Empty;
}
}
}
}
catch (Exception ex)
{
MsgBox.Error(ex.Message);
}
}

 

数据源

            DataTable dt = new DataTable();
dt.Columns.Add("科目名称", typeof(string));
dt.Columns.Add("题目", typeof(bool)); DataRow dr = dt.NewRow();
dr["科目名称"] = "";
dr["题目"] = true; dt.Rows.Add(dr);
dataGridView1.DataSource = dt;

//使用

dgv.CurrentRow  获取选中的行
dgv.Rows[index].Selected = true; 选中指定行 dgv.Rows[index].Cells["工号"].Selected = true; //选中指定行 public DataGridViewRow objs; 保存选中的行
objs.Cells["姓名"].Value.ToString() 获得该行指定列的数据

dgv.CurrentRow  获取选中的行

dgv.Rows[index].Selected = true;   选中指定行

dgv.Rows[index].Cells["工号"].Selected = true; //选中指定行

public DataGridViewRow objs;  保存选中的行

objs.Cells["姓名"].Value.ToString()  获得该行指定列的数据

            //dgv.CurrentCell = dgv.Rows[10].Cells[1];//选中指定行
//dgv.FirstDisplayedScrollingRowIndex = 10;//设置纵向滚动第一条数据

C# DataGridView 更改类型 重绘的更多相关文章

  1. 『转载』C# winform 中dataGridView的重绘(进度条,虚线,单元格合并等)

    原文转载自:http://hi.baidu.com/suming/item/81e45b1ab9b4585f2a3e2243 最近比较浅的研究了一下dataGridView的重绘,发现里面还是有很多东 ...

  2. WinForm中重绘TabControl选项卡标题

    最近开发WinForm频繁使用了TabControl控件,这个控件的选项卡没有BackgroundImage这个属性,那么如何为其各个选项卡添加背景图片呢?(这里说的是每个TabPage的头部,也就是 ...

  3. iOS 视图:重绘与UIScrollView(内容根据iOS编程编写)

    我们继续之前的 Hypnosister 应用,当用户开始触摸的时候,圆形的颜色会改变. 首先,在 JXHypnosisView 头文件中声明一个属性,用来表示圆形的颜色. #import " ...

  4. Android视图状态及重绘流程分析,带你一步步深入了解View(三)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17045157 在前面一篇文章中,我带着大家一起从源码的层面上分析了视图的绘制流程, ...

  5. java中的重绘

    void java.awt.Container.validate()Validates this container and all of its subcomponents.这个函数更新容器及其全部 ...

  6. Reflow(渲染)和Repaint(重绘)

    Reflow(渲染):对于DOM结构中的各个元素都有自己的盒模型,浏览器根据各种样式(浏览器的.开发人员定义的等)来计算,并根据计算结果将元素放到它该出现的位置,这个过程称之为reflow. refl ...

  7. View (四)视图状态及重绘流程分析

    相 信大家在平时使用View的时候都会发现它是有状态的,比如说有一个按钮,普通状态下是一种效果,但是当手指按下的时候就会变成另外一种效果,这样才会给 人产生一种点击了按钮的感觉.当然了,这种效果相信几 ...

  8. 重绘Winform窗体

    本文转载自:http://www.cnblogs.com/encoding/p/5603080.html 按照惯例,先来几张样例图(注:为了展示窗口阴影效果,截图范围向外扩展了些,各位凭想象吧). 还 ...

  9. [转]深入理解Flash Player重绘

    这个是tencent flash team的一篇文章,但团队的博客已经关闭了,所以就在这里备份下吧~ 后来有人把这篇文章又发布到9ria上了,引发了一些讨论,其中有两位大神发言了,内容在原文下方. 9 ...

随机推荐

  1. 利用微信web开发者工具调试企业微信页面

    1.只有企业号的管理员才能调试. 2.勾选企业号的开发者工具(具体位置见下图,这个入口位置总是在变,一般来说,找到”微工作台“就能找到了) 3.下载web开发者工具 https://developer ...

  2. 小菜鸟之java JDBC编程

    JDBC技术 百度简介 :  JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一 ...

  3. MySQL中出现的小问题

    ./scripts/mysql_install_db: line 249: /app/mysql/bin/my_print_defaults: cannot execute binary fileNe ...

  4. Spring框架是怎么解决Bean之间的循环依赖的 (转)

    问题: 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环.比如A依赖于B,B依赖于C,C又依赖于A.如下图:   如何理解“依赖”呢,在Spring中有: 构造器循 ...

  5. Binding的Path(路径)

    Binding的源可以是控件(一个控件是另一个控件的Source.控件把自己的容器作为Source),把集合作为ItemsControls的Source,把xml作为Tree或者Menu的Source ...

  6. JS基础_JS的HelloWorld

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. opencv中的高维矩阵Mat

    本示例程序主要是通过实例演示高维Mat的寻址方式. //3,4分别表示行数.列数,所以3*4是一个页面的元素数,2表示有2个3*4 ,b=,c=; int size[]={a,b,c}; float* ...

  8. 使用python进行pdf文件分割

    Python代码 import os from pyPdf import PdfFileWriter, PdfFileReader def split(pdf_file, delta, output_ ...

  9. python之排序(sort/sorted)

    大家都知道,python排序有内置的排序函数 sort() 和 高阶函数sorted() .但是它们有什么区别呢? 让我们先从这个函数的定义说起: sorted():该函数第一个参数iterable为 ...

  10. pgsql sql字段拼接

    1.  一条记录数据字段拼接 语法:concat_ws('拼接符号',字段名,more fields) 例子:concat_ws(':',username,sex)2. 多条记录字段拼接 语法:con ...