今天又发现了一个很有用的东西,DataGridView的CellFormating事件

经常从数据库查到的原始数据需要经过转换之后显示在客户端,比如性别,“1”显示“男”,“0”显示“女”,为此经常将数据绑定到一个下拉框中才能显示,这样出现了非法数据,比如“2”的时候,就会抛出异常,为此,用CellFormating事件就可以利用事件在数据需要显示的时候才将它转换,而且这样就有机会可以处理异常数据,例如要显示如下DataTable的数据:

private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Id"));
dt.Columns.Add(new DataColumn("Name"));
dt.Columns.Add(new DataColumn("Bit")); dt.Rows.Add(new object[] { "", "abcd", ""});
dt.Rows.Add(new object[] { "", "abcd", "" });
dt.Rows.Add(new object[] { "", "abcd", "" });
dt.Rows.Add(new object[] { "", "abcd", "" });
dt.Rows.Add(new object[] { "", "abcd", "" });
dt.Rows.Add(new object[] { "", "abcd", "" }); dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = dt;
}

这时想要让Bit显示为“是“和”否”,只需要为DataGridView1订阅事件CellFormating就可以处理数据了:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (Column_bit.Index == e.ColumnIndex)
{
if (e.Value == null)
{
return;
}
if (e.Value.Equals(""))
{
e.Value = "否";
}
else
{
e.Value = "是";
}
}
}

原链接:http://blog.csdn.net/testcs_dn/article/details/37834063

C#DataGridView格式化显示单元格的内容的更多相关文章

  1. c#DataGridView数据绑定示例——格式化单元格的内容(转)

    转自http://blog.csdn.net/testcs_dn/article/details/37834063 c#DataGridView数据绑定示例 格式化单元格的内容 在使用DataGrid ...

  2. EasyUI Datagrid 鼠标悬停显示单元格内容 复制代码

    EasyUI Datagrid 鼠标悬停显示单元格内容 ,halign:, align: 0 « 上一篇:LINQ to Entities 中的查询» 下一篇:去掉字符串中的非数字字符 posted ...

  3. EasyUI的Datagrid鼠标悬停显示单元格内容

    功能描述:table鼠标悬停显示单元格内容 1.js函数 function hoveringShow(value) { return "<span title='" + va ...

  4. DataGridView获取或者设置当前单元格的内容

    当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的CurrentCell属性取得.如果当前单元格不存在的时候,返回null. 取得当前单元格的内容: o ...

  5. DataGridView使用技巧一:获取或设置当前单元格的内容

    当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的CurrentCell属性取得.如果当前单元格不存在的时候,返回null. 取得当前单元格的内容: o ...

  6. WinForm中DataGridView复制选中单元格内容解决方案

    WinForm中DataGridView鼠标选中单元格内容复制方案 1.CTR+C快捷键复制 前提:该控件ClipboardCopyMode属性设置值非Disable: 2.鼠标框选,自定义代码实现复 ...

  7. WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter

    一.如何从 Datagrid 中获得单元格的内容 DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. 但是,W ...

  8. 如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter

    一.如何从 Datagrid 中获得单元格的内容 DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. 但是,W ...

  9. 设置DataGridView的某个单元格为ComboBox

    怎么将DataGridView的 某个单元格设为ComboBox的样式而不是整列都改变样式? 1.最简单的方法:利用DataGridView提供的DataGridViewComboBoxCell. 写 ...

随机推荐

  1. gradle——入门

    为脚本中自定义变量传参: gradle -Pmyprop=myvalue 脚本攻略 https://blog.csdn.net/yanbober/article/details/49314255 强制 ...

  2. python- www.thisamericanlife.org转pdf

    环境安装 pip install requests pip install beautifulsoup4 pip install pdfkit $ sudo apt-get install wkhtm ...

  3. 通过远程 HTTP GET 请求载入信息

    jQuery.get(url, [data], [callback], [type]) 概述 通过远程 HTTP GET 请求载入信息. 这是一个简单的 GET 请求功能以取代复杂 $.ajax .请 ...

  4. js拖拽文件夹上传

    由于项目需要上传文件到服务器,于是便在文件上传的基础上增加了拖拽上传.拖拽上传当然属于文件上传的一部分,只不过在文件上传的基础上增加了拖拽的界面,主要在于前台的交互, 从拖拽的文件中获取文件列表然后调 ...

  5. 数位dp入门 HDU 2089 HDU 3555

    最基本的一类数位dp题,题目大意一般是在a~b的范围,满足某些要求的数字有多少个,而这些要求一般都是要包含或者不包含某些数字,或者一些带着数字性质的要求,一般来说暴力是可以解决这一类问题,可是当范围非 ...

  6. 洛谷 P1135 奇怪的电梯 (dfs)

    题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮:开 ...

  7. delphi通过url下载文件

    procedure TfrmEngineerImport.btnDownloadClick(Sender: TObject);var vsql, SourceFile, DestFile, filen ...

  8. BZOJ 5267 特工 (类FWT)

    题意 题解 从大到小枚举\(l\), 把一个序列从\(2^{l+1}\)分成两个独立的\(2^l\),去除两半的影响. 设去除前的序列为\(b\), 去除后序列为\(b'\) 则有\(b_{2^{l+ ...

  9. 查看HearthBuddy.exe文件是x86还是x64版本

    https://www.cnblogs.com/chucklu/p/10020221.html 使用Powershell查看 PS C:\repository\GitHub\ChuckLu\Test\ ...

  10. JDK压缩指针

    https://www.cnblogs.com/iceAeterNa/p/4877549.html