在DataGridView1_CellFormatting中加了这一句就卡死了,请问为什么,怎么解决

chenou851123 2012-05-15 09:35:14
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、已取消

请问要怎么修改,谢谢。
...全文
289 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
北京大白兔 2014-07-17
  • 打赏
  • 举报
回复
请问楼主,你的那列会老是不停的闪吗?
请叫我卷福 2012-05-15
  • 打赏
  • 举报
回复
e.Value = (new DALService.DALServiceClient()).ProjectTaskStateName(3, stateID);

F11进入逐步调试
bdmh 2012-05-15
  • 打赏
  • 举报
回复
在没有错误的前提下,检查 DALService 类中的代码
tygh2001 2012-05-15
  • 打赏
  • 举报
回复
是不是还有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);
这句报错了。。
chenou851123 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
在没有错误的前提下,检查 DALService 类中的代码
[/Quote]

DALService 是一个WCF服务里面的方法,应该没有问题,我这样写应该没有问题把,主要是想把页面中的状态1、待分配;2、待处理;3、处理中;4、已完成;5、已取消。数字改成对应的汉字,先获取在设置这样应该不会有问题把 int stateID = Convert.ToInt32(e.Value);
e.Value = (new DALService.DALServiceClient()).ProjectTaskStateName(3, stateID);

因为我的窗体是在一个父窗体下面,可能是主窗体的原因(其他人负责),我这边应该没有问题吧,谢谢。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧