1
Reply

In gridview shows the color based on some condition,

narasiman rao

narasiman rao

Jul 10 2015 12:18 AM
378
   In gridview button i want to color based on condition.

Gridview as follows

Studid Studname Medical

1123 Ramesh HIMT (Button) should be in red color
2313 Suresh HIMT (Button) should be in green color


Student professional table as follows

Studid Pm_Prof_code Sp_issu_dt

1123 Medrep 07 July 2015
2313 Medrep 13 July 2015

In gridview Under Medical column, for studid 1123 if sp_issu_dt date is lesser than the today means i want to give Red color under the column Medical

similarily for studid 2313 if sp_issu_dt is greater than the today means i want to give Green color under the column Medical.

for that i wirtten the code as follows

Private void Selectbatch()
{
SQl = "select sp_issu_dt from student_professional where stud_id = " + id + " and pm_prof_code = 'medrep'";
ds = SCon.ReadSql_DS(SQl);
if (ds.Tables[0].Rows.Count != 0)
{
ViewState["Medical"] = "MedRep";
if (Convert.ToDateTime(ds.Tables[0].Rows[0][0].ToString()) > Convert.ToDateTime(GetDate))
{
med = "himt";
ViewState["color"] = "Green";
}
if (Convert.ToDateTime(ds.Tables[0].Rows[0][0].ToString()) < Convert.ToDateTime(GetDate))
{
med = "himt";
ViewState["color"] = "Red";
}
}
}

protected void Grd1_DataBound(object sender, EventArgs e)
{

Button BtnMedical = (Button)Grd1.Rows[i].FindControl("BtnMedical");
if (null != BtnMedical)
{
if (BtnMedical.Text == "HIMT")
{
if (ViewState["Medical"] == "MedRep")
{
if (ViewState["color"] == "Green")
{
BtnMedical.BackColor = System.Drawing.Color.Green;
BtnMedical.ForeColor = System.Drawing.Color.Black;
}
else
{

BtnMedical.BackColor = System.Drawing.Color.Red;
BtnMedical.ForeColor = System.Drawing.Color.Black;
}
}
}
}
}


When i run in gridview as follows

Studid Studname Medical

1123 Ramesh HIMT (Button) should be in red color
2313 Suresh HIMT (Button) should be in red color

for both the studid Under medical column shows in red color only.

But for 2313 stud id sp_issu_dt date is greater than today's date only.

in run mode for that sutdid i want to show Medical column for that student shows in red color only.

from my above code what is the mistake i made.

please help me. 

Answers (1)