using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using
Utilities;
using System.Data;
namespace GridViews
{
public partial class DynamicDisplay : System.Web.UI.Page
{
DBConnect objDB = new DBConnect();
String strSQL = "";
protected void Page_Load(object sender, EventArgs e)
{
// Bind
the dataset data to the drop-down list during intial
page load
// set the
text displayed in the list to the DeparmentName field
value
// and
the value of a selected item to the DepartmentNumber
field value
if (!IsPostBack)
{
strSQL = "SELECT
* FROM Department";
ddlProducts.DataSource
= objDB.GetDataSet(strSQL);
ddlProducts.DataTextField
= "DepartmentName";
ddlProducts.DataValueField
= "DepartmentNumber";
ddlProducts.DataBind();
}
}
protected void ddlProducts_SelectedIndexChanged(object sender, EventArgs e)
{
GenerateProductsTable(ddlProducts.SelectedValue);
}
// This procedure builds an HTML table that displays
information about each record
//
contained in the DataSet dsProductList
private void GenerateProductsTable(String departmentID)
{
DataSet dsProductList;
DataTable dtProducts; // used to reference a table in the dataset
DataRow drProductRecord; // used to reference a singe row
(record) from the dataset
String strHTML = "";
strSQL = "SELECT
ProductNumber, Description, QOH, Price FROM Product
" +
"WHERE DepartmentNumber =
" + departmentID;
dsProductList = objDB.GetDataSet(strSQL);
//
Retrieve a reference to the table in the DataSet that
contains the records
//
returned by the SQL query.
dtProducts = dsProductList.Tables[0];
if (dtProducts.Rows.Count != 0)
{
//
Start the HTML table
strHTML = strHTML + "<table>" +
"<tr style='font-weight:bold'>" +
"<td> Product ID </td>" +
"<td> Description </td>" +
"<td> Quantity in
Stock </td>" +
"<td> Price </td>" +
"</tr>";
//
Build an HTML table row for each record in the DataTable
dtProducts
//
with data contained in the record.
for (int
row = 0; row < dtProducts.Rows.Count; row++)
{
//
Retrieve a reference to the current DataRow (record
in the DataTable
drProductRecord = dtProducts.Rows[row];
// Create an HTML row for this
record and its values
strHTML = strHTML + "<tr>" +
"<td>" + drProductRecord["ProductNumber"] + "</td>" +
"<td>" + drProductRecord["Description"] + "</td>" +
"<td>" + drProductRecord["QOH"] + "</td>" +
"<td>" + String.Format("{0:c}", drProductRecord["Price"]) + "</td>" +
"</tr>";
}
//
End the HTML table
strHTML += "</table>";
}
// Write
the HTML string for the table to a DIV in the HTML markup of the ASPX page
divDisplay.InnerHtml
= strHTML;
}
}
}