(ItemCommand事件中)在点击LinkButton类型的列的时候,我想知道当前列号是多少,因为我有几个LinkButton类型的列,不同的列,点击的时候执行不同的操作,所以想知道列号,来判断当前点击的是DataGrid的那列。谢谢!

解决方案 »

  1.   

    e.item.cells[i] 
    就可以得到你要的列了
      

  2.   

    (LinkButton)e.Item.FinfControl("LinkButton的ID")可以取得当前点击的LinkButton
    不用取第几列了
      

  3.   

    DataGrid.ItemIndex就是当前的行号
      

  4.   

    silentwins(原谅我当天不懂得珍惜只知任性...) ,
    (LinkButton)e.Item.FinfControl("LinkButton的ID")中“LinkButton的ID”的数据如何取?怎么知道点击的是当前列
      

  5.   

    楼主说的是dg中多个模版列,点击的时候是不知道点击的linkbutton的id的,
    我做过一次是设置了每个列的排序字段名称,但是datagrid的allowsort设置为false ,这样就可以通过 e.item 的排序字段遍历dg中的列,找到匹配的项,就知道是哪一列了
      

  6.   

    再想想应该是设置commandname ,可以自定义的,这样你就心里有数了
      

  7.   

    .aspx文件里的datagrid中:
    <asp:ButtonColumn Text="添加信息" CommandName="Add"></asp:ButtonColumn>
    <asp:ButtonColumn Text="更新信息" CommandName="Update"></asp:ButtonColumn>
    后台:
    Private Sub myDataGrid_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.ItemCommand
            If e.CommandName = "Add" Then
                   ......
            End If
            If e.CommandName = "update" Then
                   ......
            End If
    End Sub
      

  8.   

    ?  vb里就是用e.items.cells()
      

  9.   

    你想得到说点击的那一列的所有数据吗?
    ArrayList al=new ArrayList();
    foreach (DataGridItem item in dg.items)
    {
        LinkButton linkBut=(LinkButton)item.FindControls(linkbutton);
        if (linkBUt!=null)
           {
               al.Add(value);//value就是你想要的数据,自己定义
           }