Dear all.
I am trying to achive the following.
I have created a form that populates a Gridview with 7 coloumns via 3 DDL's. This is working as intended. I however need to implement Writeback to two coloums on the table while keeping 5 of them read only.
Please could anyone advise how to achieve this?
Below is the codebehind
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class CountryDropdowns : System.Web.UI.Page
{
private String strConnection = "Data Source=wrestapro01;Initial Catalog=BIS;Persist Security Info=True;User ID=BIS;Password=mmmmmmmmmmmmmmmm";
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
BindContrydropdown();
}
}
/// <summary>
/// Bind Departmentdropdown
/// </summary>
protected void BindContrydropdown()
{
//conenction path for database
SqlConnection con = new SqlConnection(strConnection);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT [DeptSID],[DeptCode],[DeptName],[ParentSID] FROM [dbo].[vIP_Dept]", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
ddlDept.DataSource = ds;
ddlDept.DataTextField = "DeptName";
ddlDept.DataValueField = "DeptSID";
ddlDept.DataBind();
ddlDept.Items.Insert(0, new ListItem("--Select--", "0"));
ddlCA.Items.Insert(0, new ListItem("--Select--", "0"));
ddlOffer.Items.Insert(0, new ListItem("--Select--", "0"));
}
/// <summary>
/// Bind Curriculum Dropdown Based on CountryID
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlDept_SelectedIndexChanged(object sender, EventArgs e)
{
int CountryID = Convert.ToInt32(ddlDept.SelectedValue);
SqlConnection con = new SqlConnection(strConnection);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT [CAreaSID],[CAreaCode],[CAreaName],[ParentSID],[LedgerCode] FROM [dbo].[vIP_CurriculumArea] where ParentSID=" + CountryID, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
ddlCA.DataSource = ds;
ddlCA.DataTextField = "CAreaName";
ddlCA.DataValueField = "CAreaSID";
ddlCA.DataBind();
ddlCA.Items.Insert(0, new ListItem("--Select--", "0"));
if(ddlCA.SelectedValue=="0")
{
ddlOffer.Items.Clear();
ddlOffer.Items.Insert(0, new ListItem("--Select--", "0"));
}
}
/// <summary>
/// Bind Course Offering dropdown based on Re
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlCA_SelectedIndexChanged(object sender, EventArgs e)
{
int StateID = Convert.ToInt32(ddlCA.SelectedValue);
SqlConnection con = new SqlConnection(strConnection);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT [CAreaSID],[OfferingCode], [OfferingDescription] FROM [dbo].[vIP_Offering] WHERE [CAreaSID] =" + StateID, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
ddlOffer.DataSource = ds;
ddlOffer.DataTextField = "OfferingDescription";
ddlOffer.DataValueField = "OfferingCode";
ddlOffer.DataBind();
ddlOffer.Items.Insert(0, new ListItem("--Select--", "0"));
}
protected void Button1_Click(object sender, EventArgs e)
{
//Response.Redirect("editPage.aspx?countryId=" + ddlDept.SelectedValue + "&stateId= " + ddlCA.SelectedValue + "®ionId= " + ddlOffer.SelectedValue);
var selectedCountryval = ddlDept.SelectedValue; //Request.QueryString["countryId"];
var selectedStateval = ddlCA.SelectedValue; //Request.QueryString["stateId"];
var selectedRegionval = ddlOffer.SelectedValue; // Request.QueryString["stateId"];
SqlConnection con = new SqlConnection(strConnection);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT [RefNo],[Forenames],[Surname],[LearningAimTitle], [QualLevel] AS ExistingLevel,[StudentLevel],[Comments] FROM [dbo].[vIP_FunctionalSkillsEnrolments_14] WHERE [Code] ='" + selectedRegionval + "' AND [CA] = '" + selectedStateval + "'", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
da.Fill(ds, "Test_table");
con.Close();
ddlDept.Items.Insert(0, new ListItem("--Select--", "0"));
GridView1.DataSource = ds;
GridView1.DataBind();
GridView1.DataMember = "Test_table";
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanged2(object sender, EventArgs e)
{
}
}
Additionally the Landing page code.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CountryDropdowns.aspx.cs" Inherits="CountryDropdowns" %>
<!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 runat="server">
<title>CasCading Dropdowns Sample</title>
<style type="text/css">
.style1
{
height: 26px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table align="center">
<tr>
<td colspan="2" height="200px" valign="bottom">
<ul>
<li>
<h3>
Functional Skills Maths and English</h3>
</li>
</ul>
</td>
</tr>
<tr>
<td>
Select Department:
</td>
<td>
<asp:DropDownList ID="ddlDept" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlDept_SelectedIndexChanged"></asp:DropDownList>
</td>
</tr>
<tr>
<td class="style1">
Select Curriculum Area:
</td>
<td class="style1">
<asp:DropDownList ID="ddlCA" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlCA_SelectedIndexChanged"></asp:DropDownList>
</td>
</tr>
<tr>
<td>
Select Offering:
</td>
<td>
<asp:DropDownList ID="ddlOffer" runat="server"></asp:DropDownList>
</td>
</tr>
</table>
<br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
<asp:GridView ID="GridView1" runat="server"
onselectedindexchanged="GridView1_SelectedIndexChanged">
</asp:GridView>
<br />
</div>
</form>
</body>
</html>
Thank you for looking