日期:2014-05-19  浏览次数:20379 次

还是关于GridView的问题
protected   void   DataGrid1_DeleteCommand(object   source,DataGridCommandEventArgs   e)
        {
            String   str   =     DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString();     ///这句怎么老是报错,说什么索引超出范围,但是调试查看没有超出啊?这是怎么回事啊?
               
        }

------解决方案--------------------
前面加个判断:
if (e.Item.ItemIndex == -1)
return;
String str = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
------解决方案--------------------
String str= this.DataGrid1.DataKeys[this.DataGrid1.SelectedIndex].ToString();


------解决方案--------------------
加if (e.Item.ItemIndex == -1) return吧

------解决方案--------------------
if (e.Item.ItemIndex != -1)
{
写你的代码
}
------解决方案--------------------
e.Item.ItemIndex == -1

所以超出索引范围,

加个判断
if( e.Item.ItemIndex != -1 ){....}