DataGrid的OnItemDataBound事件传递的System.Web.UI.WebControls.DataGridItemEventArgs e的e.item.itemindex为什么是-1开始的,
例如:datalist穿过来的是0 1 2 3 4 5 换成同样的datagrid传递过来的是 -1 0 1 2 3 4 5 -1
这样的话用e.item.FindControl就怎么也找不到了,求高手求解,

解决方案 »

  1.   

    我就想找到每个item数据邦定的时候的该item上的控件,datalist是可以找到的,因为穿过来的System.Web.UI.WebControls.DataGridItemEventArgs e的e.item.itemindex是从0,1,2,3....但是用了datagrid后发现两端个多了-1,我就找不到控件了
      

  2.   

    天啊为什么5次OnItemDataBound
    会输出7个e.Item.ItemIndex值啊
      

  3.   

    两边的-1到底是什么意思,是不是代表数据行以外的两行??是不是代表header和footer两行??
      

  4.   

    DataGrid 两边的 -1 指的是 DataGrid 的 HeaderTemplate 和 FooterTemplate 0,1,2,3,4,5... 是 DataGrid 的 ItemTemplate 中的项的序号
      

  5.   

    你可以在 DataGrid 的 OnItemDataBound 事件的代码中加上if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    {
      // 原来的代码
    }