I tried doing almost everything but my Gridview is not showing column header at all. Please help me.
here is my code:
aspx markup
<asp:GridView ID="gvStudents" CssClass="table table-responsive table-bordered table-condensed table-hover" GridLines="None"
runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField ShowHeader="true" HeaderText="STS Number">
<ItemTemplate>
<asp:Label ID="lblstsno" runat="server" Text='<%#Eval("STS Number") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="true" HeaderText="Student Name">
<ItemTemplate>
<asp:Label ID="lblname" runat="server" Text='<%#Eval("Student Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="true" HeaderText="Mobile Number">
<ItemTemplate>
<asp:Label ID="lblmobile" runat="server" Text='<%#Eval("Mobile Number") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="true" HeaderText="Class Studying In">
<ItemTemplate>
<asp:Label ID="lblclass" runat="server" Text='<%#Eval("Class Studying In") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="true" HeaderText="Division">
<ItemTemplate>
<asp:Label ID="lbldiv" runat="server" Text='<%#Eval("Division") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="true" HeaderText="Attendence">
<ItemTemplate>
<div class="checkbox icheckbox_square-blue">
<asp:CheckBox ID="chkAttendence" runat="server" />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
c# code behind
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
public partial class studentattendance : System.Web.UI.Page
{
GlobalAccess ga = new GlobalAccess();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.txtDate.Text = DateTime.Now.ToShortDateString();
this.PopulateStudentDetails();
}
}
private void PopulateStudentDetails()
{
try
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["stjosephconnect"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("SELECT stsno as 'STS Number', name as 'Student Name', mobileno as 'Mobile Number', "
+"class as 'Class Studying In', div as 'Division' FROM studentregistration", con);
DataSet ds = new DataSet();
da.Fill(ds);
gvStudents.DataSource = ds.Tables[0];
gvStudents.DataBind();
}
catch(Exception ex)
{
Response.Write("<script language='javascript'>alert('" + Server.HtmlEncode(ex.Message.ToString()) + "')</script>");
}
}
protected void SaveStudentAttendance(object sender, EventArgs e)
{
try
{
foreach (GridViewRow row in gvStudents.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox chkAttendance = row.FindControl("chkAttendence") as CheckBox;
string attendanceStatus = chkAttendance.Checked ? "Present" : "Absent";
int rollNo = int.Parse((row.FindControl("lblstsno") as Label).Text.Trim());
string studentName = ((row.FindControl("lblname") as Label).Text.Trim());
string Mobile = ((row.FindControl("lblmobile") as Label).Text.Trim());
string Class = ((row.FindControl("lblclass") as Label).Text.Trim());
string Division = ((row.FindControl("lbldiv") as Label).Text.Trim());
string sttendenceDate = (this.txtDate.Text.Trim());
string constring = ConfigurationManager.ConnectionStrings["stjosephconnect"].ConnectionString;
using (SqlConnection con = new SqlConnection(constring))
{
string query = "INSERT INTO studentattendance VALUES(@attdate, @name, @mobile, @class, @div, @attendance, @remarks, @status, @rem)";
using (SqlCommand cmd = new SqlCommand(query, con))
{
con.Open();
cmd.Parameters.AddWithValue("@attdate", this.txtDate.Text.Trim());
cmd.Parameters.AddWithValue("@name", studentName);
cmd.Parameters.AddWithValue("@mobile", Mobile);
cmd.Parameters.AddWithValue("@class", Class);
cmd.Parameters.AddWithValue("@div", Division);
cmd.Parameters.AddWithValue("@attendance", attendanceStatus);
cmd.Parameters.AddWithValue("@remarks", "Testing Purposes Only!");
cmd.Parameters.AddWithValue("@status", "1");
cmd.Parameters.AddWithValue("@rem", "0");
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('Data saved successfully, Thank-You!');", true);
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('There was some error in connection');", true);
}
con.Close();
}
}
}
}
}
catch (Exception ex)
{
Response.Write("<script language='javascript'>alert('" + Server.HtmlEncode(ex.Message.ToString()) + "')</script>");
}
}
}