Private Sub DGSelecedVendor_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DGSelecedVendor.ItemCreated            If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then   '这个条件怎么可能一直不满足呢?导致下面的不执行!
                Dim Lbtn As LinkButton
                Lbtn = e.Item.FindControl("LbtnChoose")
                Lbtn.Attributes.Add("onclick", "CheckIsSameVendorAccountingCodde(this);")
            End If        End Sub但有时候执行了啊????奇怪...

解决方案 »

  1.   

    DataGridItem
    每一个DataGridItem就是DataGrid中显示的一行,其中包括:
    Header DataGrid 控件的标题部分
    Item DataGrid 控件中的项
    AlternatingItem DataGrid 控件中的交替项
    SelectedItem   DataGrid 控件中的选定项(由SelectedIndex设置,通过SelectedItem属性或者Items[SelectedIndex]来读取)
    EditItem   DataGrid 控件中处于编辑状态的项(由EditItemIndex设置,通过Items[EditItemIndex]来读取)
    Separator   DataGrid 控件中项之间的分隔符
    Footer   DataGrid 控件的脚注部分
    Pager   DataGrid 控件的页选择节
    注意,DataGrid的Items属性中不会包含Header、Footer、Pager这三类DataGridItem的。
      

  2.   

    谢谢楼上的兄弟!问题进展:
       发现第一次绑定的时候,所有的LinkButton都会加上js事件,
    但以后各次绑定,        第一个不加js事件,但后面的会有js事件!!!!?????
      

  3.   

    可以有更简单的写法if(e.Item.ItemIndex>=0)
    {
      LinkButton Lbtn = e.Item.FindControl("LbtnChoose")
      Lbtn.Attributes.Add("onclick", "CheckIsSameVendorAccountingCodde(this);")
       }
      

  4.   

    谢谢  fly_miss(新年新气象) !!
    问题解决了..但还是很奇怪,
                If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then   '这个条件怎么可能一直不满足呢?导致下面的不执行!
                    Dim Lbtn As LinkButton
                    Lbtn = e.Item.FindControl("LbtnChoose")
                    Lbtn.Attributes.Add("onclick", "CheckIsSameVendorAccountingCodde(this);")
                End If
            第一个不加js事件,但后面的会有js事件!!!!?????
    希望能得到解释....
      

  5.   

    Header DataGrid 控件的标题部分
    Item DataGrid 控件中的项
    AlternatingItem DataGrid 控件中的交替项
      

  6.   

    Dim Lbtn As LinkButton
    Lbtn = e.Item.FindControl("LbtnChoose")
    --------------------------------------------------------------
    强制转化为LinkButton,如: LinkButton Lbtn = (LinkButton)e.Item.FindControl("LbtnChoose");
      

  7.   

    问题是,只有一行时:
                If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then   '这个条件怎么可能一直不满足呢?导致下面的不执行!
    (这个条件都不满足啊!)
      

  8.   

    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    Label a =(Label)e.Item.FindControl("lblunit");
    a.Text = "啊啊啊";
    }
    这样就找得到lblunit,如果没这个判断就找不到,为什么??????
      

  9.   

    LinkButton Lbtn = e.Item.FindControl("LbtnChoose")
    if Lbtn<>nothing
      Lbtn.Attributes.Add("onclick", "CheckIsSameVendorAccountingCodde(this);")
    end if