我选中DATAGRIDVIEW其中的一行`````````
我选中DATAGRIDVIEW其中的一行`````````怎么获取这一行的主键的值是多少。。请大家把自己的方法说说。。   
 dataGirdClientAllMEssage.CurrentRow.Cells[ "SerialNO "].Value   
 我是这样写的。不过第一次是正确的。在来一次的话,,他返回的值还是第一次得到的值。。。   
 谢谢
------解决方案--------------------抱歉,没有说明白;我说的.SelectedIndex是ASP.NET中的GridView中的!你说的是winform? 
 是不是WEB和Winform的GridView不一样啊!
------解决方案--------------------  写法应该正确 
 dataGirdClientAllMEssage.CurrentRow.Cells[ "SerialNO "].Value   
 但你是在什么情况下 取 dataGirdClientAllMEssage.CurrentRow.Cells[ "SerialNO "].Value 值的呢 
 如果当前行确实没有改变,当然返回的值还是第一次得到的值了。   
 可以试一下,把他放在 DATAGRIDVIEW 的 Click 事件中测一下 ,我想不会错的。
------解决方案--------------------winform中我用了你语句了:dataGirdClientAllMEssage.CurrentRow.Cells[ "SerialNO "].Value.ToString();显示的正确的啊,选择那行得到那个主键值吗!代码跟进去看一下吧,是不是中间出了异常或者你的事件没有触发啊!
------解决方案--------------------    写法应该正确 
 dataGirdClientAllMEssage.CurrentRow.Cells[ "SerialNO "].Value.ToString()   
 但你是在什么情况下 取 dataGirdClientAllMEssage.CurrentRow.Cells[ "SerialNO "].Value.ToString() 值的呢 
 如果当前行确实没有改变,当然返回的值还是第一次得到的值了。   
 可以试一下,把他放在 DATAGRIDVIEW 的 Click 事件中测一下 ,我想不会错的。     
 不好意思,刚才粘贴疏忽,少了 .ToString()