在DATAGRID中单击一行改变其颜色及得到单击行的值
方法1:  
在你的page上增加一个Select类型的button,然后设置为隐藏。然后在你的datagrid的ItemDataBound事件里面这样写:  
 
if(e.Item.ItemIndex  <  0)  return;  
e.Item.Attributes.Add("OnClick",Page.GetPostBackClientEvent(e.Item.Cells[0].Controls[0],String.Empty));    
 
//这里的Cells[0]和你的button的顺序有关,根据你自己的实际情况来做。  
//对你的grid,请设置auto  format,否则选择后,没有光条出现。  
---------------------------------------------------------------  
方法2:  
<asp:DataGrid  ID="MyGrid"  Runat="server"  SelectedItemStyle-BackColor="#cccccc"...>  
<Columns>  
<asp:TemplateColumn>  
<HeaderTemplate>  
 标题  
</HeaderTemplate>  
<ItemTemplate>  
<asp:LinkButton  ID="lbnSelect"  Runat="server">  
<%#  DataBinder.Eval(Container.DataItem,  "字段名")%>  
</asp:LinkButton>  
</ItemTemplate>  
</asp:TemplateColumn>  
</Columns>  
</asp:DataGrid>  
 
//SelectedItemStyle-BackColor="#cccccc"设置选定后的颜色;  
//MyGrid.SelectedIndex    可以得到选定的行数  
 
---------------------------------------------------------------  
方法3:  
http://www.csdn.net/expert/topic/759/759621.xml?temp=.735943

解决方案 »

  1.   

    鼠标移到DataGrid的行上更改那行的颜色  
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    e.Item.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.style.backgroundColor='#336699'");
    e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=currentcolor");} 
    }
      

  2.   

    设置DataGrid的属性,
    <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#669999"></SelectedItemStyle>
      

  3.   

    我设了
    <asp:DataGrid  ID="MyGrid"  Runat="server"  SelectedItemStyle-BackColor="#cccccc"...>  
    <Columns>  
    <asp:TemplateColumn>  
    <HeaderTemplate>  
     标题  
    </HeaderTemplate>  
    <ItemTemplate>  
    <asp:LinkButton  ID="lbnSelect"  Runat="server">  
    <%#  DataBinder.Eval(Container.DataItem,  "字段名")%>  
    </asp:LinkButton>  
    </ItemTemplate>  
    </asp:TemplateColumn>  
    </Columns>  
    </asp:DataGrid>  
     
    //SelectedItemStyle-BackColor="#cccccc"设置选定后的颜色;  
    //MyGrid.SelectedIndex    可以得到选定的行数  
    为什么还试没有效果啊~~!!!
      

  4.   

    <asp:LinkButton  ID="lbnSelect"  Runat="server">改成
    <asp:LinkButton  ID="lbnSelect"  Runat="server" CommandName=“Select”>就可以了为什么?????????????????????
    ??????????????、、
    ???????????