Hi friends
protected void subjectdropdown_SelectedIndexChanged(object sender, EventArgs e)
{
studmarkgrid.Columns.RemoveAt(0);
comp.ACADAMICYEAR = acyeardropdown.SelectedItem.Text;
comp.MEDIUM = mediumdropdown.SelectedItem.Text;
string name = classdropdown.SelectedItem.Text;
string[] divide = name.Split('-');
comp.CLASSNAME = divide[0].ToString();
comp.SECTIONNAME = Convert.ToChar(divide[1].Trim().ToString());
comp.EXAMNAMES = examnamedropdown.SelectedItem.Text;
comp.SUBJECTNAME = subjectdropdown.SelectedItem.Text;
string examname=examnamedropdown.SelectedItem.Text;
if (examname == "Annual Exam" || examname == "Half yearly Exam" || examname == "Quartely Exam")
{
DataTable getmarkfdb = inter.getmarksfromdatabaseahq(comp);
if (getmarkfdb != null)
{
if (getmarkfdb.Rows.Count > 0)
{
TemplateField adtmep = new TemplateField();
adtmep.ShowHeader = true;
adtmep.HeaderText = "InternalMark";
adtmep.ItemTemplate = new gridviewtemplate(DataControlRowType.DataRow, "InternalMark", "InternalMark", "TextBox");
studmarkgrid.Columns.Add(adtmep);
TemplateField extmep = new TemplateField();
extmep.ShowHeader = true;
extmep.HeaderText = "ExternalMark";
extmep.ItemTemplate = new gridviewtemplate(DataControlRowType.DataRow, "ExternalMark", "ExternalMark", "TextBox");
studmarkgrid.Columns.Add(extmep);
ViewState["Temptable"] = getmarkfdb;
studmarkgrid.DataSource = getmarkfdb;
studmarkgrid.DataBind();
}
}
else
{
DataTable result = inter.getstudentlistformark(comp);
TemplateField inmarktemp3 = new TemplateField();
inmarktemp3.ShowHeader = true;
inmarktemp3.HeaderText = "InternalMark";
inmarktemp3.ItemTemplate = new gridviewtemplatewithoutbind(DataControlRowType.DataRow, "InternalMark", "InternalMark", "TextBox");
studmarkgrid.Columns.Add(inmarktemp3);
TemplateField extertemp = new TemplateField();
extertemp.ShowHeader = true;
extertemp.HeaderText = "ExternalMark";
extertemp.ItemTemplate = new gridviewtemplatewithoutbind(DataControlRowType.DataRow, "ExternalMark", "ExternalMark", "TextBox");
studmarkgrid.Columns.Add(extertemp);
ViewState["Temptable"] = result;
studmarkgrid.DataSource = result;
studmarkgrid.DataBind();
Button1.Visible = true;
Button2.Visible = true;
}
}
else
{
DataTable getmarkfdb = inter.getmarksfromdatabaseothers(comp);
if (getmarkfdb.Rows.Count > 0)
{
TemplateField extmep = new TemplateField();
extmep.ShowHeader = true;
extmep.HeaderText = "ExternalMark";
extmep.ItemTemplate = new gridviewtemplate(DataControlRowType.DataRow, "ExternalMark", "ExternalMark", "TextBox");
studmarkgrid.Columns.Add(extmep);
ViewState["Temptable"] = getmarkfdb;
studmarkgrid.DataSource = getmarkfdb;
studmarkgrid.DataBind();
}
else
{
DataTable result = inter.getstudentlistformark(comp);
TemplateField extemp= new TemplateField();
extemp.ShowHeader = true;
extemp.HeaderText = "ExternalMark";
extemp.ItemTemplate = new gridviewtemplatewithoutbind(DataControlRowType.DataRow, "ExternalMark", "ExternalMark", "TextBox");
studmarkgrid.Columns.Add(extemp);
ViewState["Temptable"] = result;
studmarkgrid.DataSource = result;
studmarkgrid.DataBind();
}
}
Button1.Visible = true;
Button2.Visible = true;
and another event handler method is
protected void Button1_Click(object sender, EventArgs e)
{
comp.ACADAMICYEAR = acyeardropdown.SelectedItem.Text;
comp.MEDIUM = mediumdropdown.SelectedItem.Text;
string clas = classdropdown.SelectedItem.Text;
string[] cs = clas.Split('-');
comp.CLASSNAME = cs[0].ToString();
comp.SECTIONNAME =Convert.ToChar(cs[1].Trim().ToString());
comp.EXAMNAMES = examnamedropdown.SelectedItem.Text;
comp.SUBJECTID = subjectdropdown.SelectedValue.ToString();
bool studm = inter.inserstumark(comp,studmarkgrid);
if (studm)
{
string msg = "Record is successfully Inserted!";
Response.Write("<script language=JavaScript> alert('" + msg + "'); <" +
"/script>");
}
else
{
string msg = "Record is not Inserted!";
Response.Write("<script language=JavaScript> alert('" + msg + "'); <" +
"/script>");
}
}
In first event handler i bind the gridview with datatable based on the condition. In second event hander want to send the grid value to stored in database. but i cannot read the value from gridview in inserstumark method. by default i set the gridview viewstate for enabled. but still i could not get value.