首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

在DataGridView1_CellFormatting中加了这一句就卡死了,请教为什么,如何解决

2012-06-15 
在DataGridView1_CellFormatting中加了这一句就卡死了,请问为什么,怎么解决private void DataGridView1_Ce

在DataGridView1_CellFormatting中加了这一句就卡死了,请问为什么,怎么解决
private void DataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
  {

  if (this.DataGridView1.Columns[e.ColumnIndex].Name == "States")
  {
  int stateID = Convert.ToInt32(e.Value);
  e.Value = (new DALService.DALServiceClient()).ProjectTaskStateName(3, stateID);
  }
   
  }

把DataGridView1中绑定的列 1 2 3 4 5,转换为状态的中文名称,
1、待分配;2、待处理;3、处理中;4、已完成;5、已取消

请问要怎么修改,谢谢。

[解决办法]
是不是还有ColumnHeader?
主要判断一下到底是哪一句卡死了,
你尝试注销掉你写的代码,
直接
private void DataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
e.value= "AAAA";
}
看看行不行,
如果行的话,将你的代码中
e.Value = (new DALService.DALServiceClient()).ProjectTaskStateName(3, stateID);
注释掉看看行不,
不行可能就是
int stateID = Convert.ToInt32(e.Value);
这句报错了。。
[解决办法]
在没有错误的前提下,检查 DALService 类中的代码
[解决办法]
e.Value = (new DALService.DALServiceClient()).ProjectTaskStateName(3, stateID);

F11进入逐步调试

热点排行