日期:2014-05-18  浏览次数:20754 次

在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进入逐步调试