Select Row by Clicking Any Column  
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dn_voices_webmen/html/webteam11062001.asp

解决方案 »

  1.   

    see:
    Highlighted Hovering and Anywhere Selecting A DataGrid Row
    http://www.dotnetbips.com/displayarticle.aspx?id=205
      

  2.   

    <asp:datalist id="ViewProduct" runat="server" Width="681px">
    <HeaderTemplate>
    <TABLE id="Table3" style="WIDTH: 680px; HEIGHT: 32px" cellSpacing="1" cellPadding="1" width="480">
    <TR>
    <TD style="WIDTH: 120px" align="center">产品名称</TD>
    <TD style="WIDTH:83px" align="center">产品图</TD>
    <TD style="WIDTH: 100px" align="center">录入者</TD>
    <TD style="WIDTH: 120px" align="center">录入时间</TD>
    <TD align="center">修改者</TD>
    <TD align="center">修改时间</TD>
    </TR>
    </TABLE>
    </HeaderTemplate>
    <AlternatingItemStyle BackColor="#F4EEDC"></AlternatingItemStyle>
    <ItemStyle BackColor="#F2F7F9"></ItemStyle>
    <ItemTemplate>
    <TABLE id="Table4" style="WIDTH: 680px; HEIGHT: 32px" cellSpacing="1" cellPadding="1" width="482">
    <TR onmouseover="this.style.backgroundColor='#CCCC99';" onmouseout="this.style.backgroundColor='';">
    <TD style="WIDTH: 120px" align="center"><%# DataBinder.Eval(Container.DataItem,"productname")%></TD>
    <TD style="WIDTH: 83px" align="center"><IMG height=30 src='/<%# DataBinder.Eval(Container.DataItem,"photo")%>' width=60></TD>
    <TD style="WIDTH: 100px" align="center"><%# DataBinder.Eval(Container.DataItem,"users")%></TD>
    <TD style="WIDTH: 120px" align="center"><%# DataBinder.Eval(Container.DataItem,"creatdate")%></TD>
    <TD style="WIDTH: 100px" align="center"><%# DataBinder.Eval(Container.DataItem,"modifyusers")%></TD>
    <TD align="center"><%# DataBinder.Eval(Container.DataItem,"modifydate")%></TD>
    </TR>
    </TABLE>
    </ItemTemplate>
    <HeaderStyle Font-Size="12pt" Font-Bold="True" BackColor="#99CCFF"></HeaderStyle>
    </asp:datalist>
      

  3.   

    在<HEAD></HEAD>之间加上:
    <script language="JavaScript" src="../inc/tit.js"></script>
    <style>
    .sobj{color: white; background-color: navy;}
    .uobj{color: black; background-color: white;}
    </style>
    <script language="javascript">
    <!--
    function onc(tobj)
    {
     var obj; 
     var alldiv=document.all.dg1.getElementsByTagName("tr");
       for (var i=0;i<alldiv.length;i++)
            {obj=alldiv[i];
               obj.className="uobj"
             }
    tobj.className="sobj";
    }
    //-->
    </script>------------------------------------- Private Sub dg1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg1.ItemDataBound
         If e.Item.ItemIndex > -1 Then
             e.Item.Attributes("onclick") = "javascript:onc(this);"
         End If
     End Sub
      

  4.   

    写多了,应该是在<HEAD></HEAD>之间加上:
    <style>
    .sobj{color: white; background-color: navy;}
    .uobj{color: black; background-color: white;}
    </style>
    <script language="javascript">
    <!--
    function onc(tobj)
    {
     var obj; 
     var alldiv=document.all.dg1.getElementsByTagName("tr");
       for (var i=0;i<alldiv.length;i++)
            {obj=alldiv[i];
               obj.className="uobj"
             }
    tobj.className="sobj";
    }
    //-->
    </script>------------------------------------- Private Sub dg1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg1.ItemDataBound
         If e.Item.ItemIndex > -1 Then
             e.Item.Attributes("onclick") = "javascript:onc(this);"
         End If
     End Sub
      

  5.   

    Html页面代码:
    <script language="javascript">
      function EditDataGrid(RowID)
      {
        document.Form1.submit();
        alert ("你已经选定【" + RowID + "】行!!!");
      }
    </script>后置代码:
      private void dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
      {
        int Row = this.dg.CurrentPageIndex*this.dg.PageSize + e.Item.ItemIndex ;
        if (e.Item.ItemType ==ListItemType.Item ||  e.Item.ItemType ==ListItemType.AlternatingItem )
        {
          e.Item.Attributes["onclick"]="EditDataGrid("+(Row+1).ToString()+");";
        }
      }