Friday, 13 April 2012

gridview row color change using mouseover


//.aspx file

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="gridviewcolor.aspx.cs" Inherits="gridviewcolor" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Untitled Page</title>
    <style type="text/css">
        .datatable tr:hover, .datatable tr.hilite
        {
            background-color: pink;
            color: red;
        }
    </style>
<link rel="stylesheet" type="text/css" href="Style/inb.css" />
<script language="javascript">



    var message = "function disabled";

    function rtclickcheck(keyp) {
        if (navigator.appName == "Netscape" && keyp.which == 3) { alert(message); return false; }

        if (navigator.appVersion.indexOf("MSIE") != -1 && event.button == 2) { alert(message); return false; }
    }

    document.onmousedown = rtclickcheck;

</script>



</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="Server" CssClass="datatable" ForeColor="Blue">
        </asp:GridView>
         Note:
            <asp:Label ID="Label2" runat="server"
                Text="When Mouseover in Gridview then change Gridview row Color"
                BorderColor="White" BorderStyle="Dotted" Font-Bold="True" Font-Overline="True"
                Font-Underline="True" ForeColor="#3333CC"></asp:Label>
                <br />
        <div>
            <asp:GridView ID="GridView2" runat="Server" ondatabound="GridView2_DataBound">
            </asp:GridView>
            <br />
       Note:
            <asp:Label ID="Label1" runat="server"
                Text="Here if Name field data same then this data is red color"
                BorderColor="White" BorderStyle="Dotted" Font-Bold="True" Font-Overline="True"
                Font-Underline="True" ForeColor="#3333CC"></asp:Label>
        </div>
     
    </div>
    </form>
    <script type="text/javascript">

        var rows = document.getElementsByTagName('tr');

        for (var i = 0; i < rows.length; i++) {

            rows[i].onmouseover = function () {

                this.className += ' hilite';

            }

            rows[i].onmouseout = function () {

                this.className = this.className.replace('hilite', '');

            }

        }

    </script>
 

</body>
</html>

//code page



using System;

using System.Data;
using System.Data.SqlClient;
using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;



public partial class gridviewcolor : System.Web.UI.Page
{
    /*gridview bind without database and change row color on mouse over*/
    SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["jayconnectionstring"].ConnectionString);
    SqlCommand sqlcmd;
    SqlDataAdapter da;
    DataTable dt = new DataTable();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {



            GridView1.DataSource = GetCustomMadeDataTable();

            GridView1.DataBind();
            bind();

        }
    }
    public DataTable GetCustomMadeDataTable()
    {



        //Create a new DataTable object



        System.Data.DataTable objDataTable = new System.Data.DataTable();



        //Create three columns with string as their type



        objDataTable.Columns.Add("ISBN", typeof(string));

        objDataTable.Columns.Add("Title", typeof(string));

        objDataTable.Columns.Add("Publisher", typeof(string));

        objDataTable.Columns.Add("Year", typeof(string));



        DataColumn[] dcPk = new DataColumn[1];

        dcPk[0] = objDataTable.Columns["ISBN"];

        objDataTable.PrimaryKey = dcPk;

        objDataTable.Columns["ISBN"].AutoIncrement = true;

        objDataTable.Columns["ISBN"].AutoIncrementSeed = 1;

        //Adding some data in the rows of this DataTable

        DataRow dr;

        for (int i = 1; i <= 5; i++)
        {

            dr = objDataTable.NewRow();



            dr[1] = "Title" + i.ToString();

            dr[2] = "Publisher" + i.ToString();

            dr[3] = "200" + i.ToString();

            objDataTable.Rows.Add(dr);

        }

        Session["strTemp"] = objDataTable;

        return objDataTable;

    }
    public void bind()
    {

        SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["jayconnectionstring"].ConnectionString);
        cn.Open();
        sqlcmd = new SqlCommand("select * from emp", sqlcon);
        da = new SqlDataAdapter(sqlcmd);
        dt.Clear();
        sqlcon.Open();
        da.Fill(dt);
        if (dt.Rows.Count > 0)
        {
            GridView2.DataSource = dt;
            GridView2.DataBind();
        }
        sqlcon.Close();
    }
   
    protected void GridView2_DataBound(object sender, EventArgs e)
   
    {

       
        for (int i = 0; i < dt.Rows.Count; i++)
        {

            GridViewRow row;
            row = GridView2.Rows[i];

            for ( int j = 0; j < dt.Rows.Count; j++)
            {
                if (i != j)
                {
                    if ((Convert.ToString(dt.Rows[i][1])) == (Convert.ToString(dt.Rows[j][1])))
                    {
                        row.BackColor = System.Drawing.Color.Red;

                    }
                   
                }
            }

            ////Here i check name field is same or not

            //for (int j = 0; j <dt.Rows.Count; j++)
            //{
            //    GridViewRow Row1;
            //    Row1 = GridView2.Rows[j];

            //    if ((Convert.ToString(dt.Rows[i][1])) == (Convert.ToString(dt.Rows[j][1])))
            //    {
            //        //row.BackColor = System.Drawing.Color.Red;
            //        row.BackColor = System.Drawing.Color.Red;
            //    }
            //    else
            //    {
            //        if (Row1.BackColor != System.Drawing.Color.Red)
            //        {


            //            row.BackColor = System.Drawing.Color.Azure;

            //        }
            //        else
            //        {
            //            row.BackColor = System.Drawing.Color.Red;
            //        }
            //    }

            //  }
           

          //  i++;

         
        }
       
    }
}


No comments:

Post a Comment