c# datagridview 绑定时 改变单元格的值
首先从数据库查出一个dataTable与datagridview绑定然后这个表里有一列是sex:1是,男,2是女。查出来的数据显示的是1和2,这样不行。于是我在加载完成后...
首先从数据库查出一个 dataTable 与 datagridview 绑定
然后这个表里有一列是 sex :1 是,男,2是女。
查出来的数据显示的是1 和2,这样不行。
于是我在加载完成后循环整个dataTable更改掉sex列 ,把1改成男,2改成女
这样就改完了。
我的问题是:在加载完成后再循环dataTable更改单元格的值速度实在是太慢了,50W条数据更改和不更改速度很明显。请问,c#有没有一个事件,和asp.net一样有个行绑定事件,就是这个行刚绑定上就我就可以去修改单元格值,这样速度应该会快一点点??
或者您有更好的办法请教教我。 展开
然后这个表里有一列是 sex :1 是,男,2是女。
查出来的数据显示的是1 和2,这样不行。
于是我在加载完成后循环整个dataTable更改掉sex列 ,把1改成男,2改成女
这样就改完了。
我的问题是:在加载完成后再循环dataTable更改单元格的值速度实在是太慢了,50W条数据更改和不更改速度很明显。请问,c#有没有一个事件,和asp.net一样有个行绑定事件,就是这个行刚绑定上就我就可以去修改单元格值,这样速度应该会快一点点??
或者您有更好的办法请教教我。 展开
2个回答
展开全部
DataGridView.CellFormatting 事件
每绘制一个单元格,就会发生 CellFormatting 事件
用法:
private void Grid_CellFormatting( object sender, DataGridViewCellFormattingEventArgs e )
{
if ( e == null || e.Value == null || !(sender is DataGridView) )
return;
DataGridView view = (DataGridView)sender;
object originalValue = e.Value;
if(view.Columns[e.ColumnIndex].DataPropertyName == "sex")
e.Value = ((int)originalValue == 1) ? "男" : “女”;
}
每绘制一个单元格,就会发生 CellFormatting 事件
用法:
private void Grid_CellFormatting( object sender, DataGridViewCellFormattingEventArgs e )
{
if ( e == null || e.Value == null || !(sender is DataGridView) )
return;
DataGridView view = (DataGridView)sender;
object originalValue = e.Value;
if(view.Columns[e.ColumnIndex].DataPropertyName == "sex")
e.Value = ((int)originalValue == 1) ? "男" : “女”;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询