黑马程序员技术交流社区

标题: GridView选中问题 [打印本页]

作者: 廖新    时间: 2013-3-7 21:33
标题: GridView选中问题
使用 GridView连接数据库, 数据太多的话,很容易看错。如何 使鼠标光标放在某个数据上,该数据所在的行就会变色?

作者: 许庭洲    时间: 2013-3-7 22:18
1、首先在.aspx页面块中添加javascript
<script type="text/javascript">
var prevselitem=null;
function selectx(row)
{
      
if(prevselitem!=null)
      {
           prevselitem.style.backgroundColor
='#eeeeee';
      }
      row.style.backgroundColor
='PeachPuff';
      prevselitem
=row;      
      }
</script>
2、然后修改GridView,添加事件OnRowDataBound
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"  Width="100%" PageSize="55" OnRowDataBound="GridView1_RowDataBound"></asp:GridView>
3、最后在.aspx.cs页面中添加GridView1_RowDataBound
protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e)
{
         
if (e.Row.RowType == DataControlRowType.DataRow)
         {

                e.Row.Attributes.Add("onclick", e.Row.ClientID.ToString() + ".checked=true;selectx(this)");//点击行变色
         }
}






作者: 吕振    时间: 2013-3-7 23:34
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            //首先判断是否是数据行
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                //当鼠标停留时更改背景色
                e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#aaddaf'");
                //当鼠标移开时还原背景色
                e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
            }
        }
作者: 孔健    时间: 2013-3-9 11:30
可以利用DataGridView控件的SelectionMode、ReadOnly和SelectionBackColor属性来实现鼠标光标放在某个数据上时,该数据所在的行显示不同的颜色。
例如:
        private void Form1_Load(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection("server=.;database=db_16;uid=sa;pwd=");
            SqlDataAdapter sda = new SqlDataAdapter("select * from tb_emp", conn);
            DataSet ds = new DataSet();
            sda.Fill(ds);     //使用SqlDataAdapter对象的Fill方法填充DataSet
            dataGridView1.DataSource = ds.Tables[0];    //设置dataGridView控件的数据源
            //设置SelectionMode属性为FullRowSelect使控件能够整行选择
            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;   
            //设置控件为只读
            dataGridView1.ReadOnly = true;
            //设置dataGridView1控件的DefaultCellStyle.SelectionBackColor属性,使其选择的行显示为黄绿色
            dataGridView1.DefaultCellStyle.SelectionBackColor = Color.YellowGreen;
        }







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2