2008-01-23

Code Behind

using System;
using System.Collections;
using System.Configuration;
using System.ComponentModel;
using System.Data.SqlClient;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

//Page Load
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
CheckVisible(false);
GetCustomer();
dtPruductForGridGrid();
Session["Tb_Product"] = "";
}
}
----------
//Check Visible
private void CheckVisible(bool check)
{
btnCancel.Visible = check;
btnClose.Visible = check;
btnAdd.Visible = check;
btnDelete.Visible = check;
dgdshow.Visible = check;
}
----------
//Select Data for dropdown list
private void GetCustomer()
{
string connStr = ConfigurationSettings.AppSettings["MyDbConn2"].ToString();
SqlConnection cn = new SqlConnection(connStr);
SqlDataAdapter cmd = new SqlDataAdapter("SELECT a.Product_ID,a.Customer_ID,a.Customer_Name from Tb_Customer a", cn);//Select '' Product_ID,'' Customer_ID, '-- Select --' Customer_Name union
DataSet dsProduct = new DataSet();
cmd.Fill(dsProduct, "Tb_Product");

ddlProduct.DataSource = dsProduct.Tables["Tb_Product"];
ddlProduct.DataTextField = "Customer_Name";
ddlProduct.DataValueField = "Product_ID";
ddlProduct.DataBind();
}
----------
//Select data for grid
private DataTable dtPruductForGridGrid()
{
string connStr = ConfigurationSettings.AppSettings["MyDbConn2"].ToString();
SqlConnection cn = new SqlConnection(connStr);
SqlDataAdapter cmd = new SqlDataAdapter("SELECT a.seq,a.product_id,a.Product_Name,a.remark from Tb_Product a inner join Tb_Customer b on a.Product_ID = b.Product_ID where a. product_id='"+ddlProduct.SelectedValue+"'", cn);
DataSet dsProduct = new DataSet();
cmd.Fill(dsProduct, "Tb_Product");
DataTable dt = dsProduct.Tables["Tb_Product"];
Session["Tb_Product"] =dt;
return dt;
}
----------
//paint grid
private void PaintGrid()
{
DataTable dt = (DataTable)Session["Tb_Product"];
DataView dv = dt.DefaultView;//dsProduct.Tables["Tb_Product"]
dv.Sort = "seq desc";
dgdshow.DataSource = dv;
dgdshow.DataBind();
}
----------
//Add new
private void btnAdd_Click(object sender, System.EventArgs e)
{
if(dgdshow.EditItemIndex!= -1)
{
for (int i = 0; i < dgdshow.Items.Count; i++)
{
string product_id = dgdshow.Items[i].Cells[7].Text;
dgdshow.Items[i].Cells[2].Text = product_id;
}
return;
}
DataTable dt = dtPruductForGridGrid();
DataRow dr = dt.NewRow();
dr["seq"]= 0;
dt.Rows.InsertAt(dr,0);
dgdshow.EditItemIndex = 0;
//paint grid not dv.Sort = "seq asc";
dgdshow.DataSource = dt;
dgdshow.DataBind();

CheckVisible(true);
ddlProduct.Enabled = false;
lblRequire.Text = "";
}
----------
//Search data
private void btnsearch_Click(object sender, System.EventArgs e)
{
if(dgdshow.EditItemIndex!= -1)
{
for (int i = 0; i < dgdshow.Items.Count; i++)
{
string product_id = dgdshow.Items[i].Cells[7].Text;
dgdshow.Items[i].Cells[2].Text = product_id;
}
return;
}
dtPruductForGridGrid();
PaintGrid();
CheckVisible(true);
lblRequire.Text = "";
}
----------
//Cancel
private void btnCancel_Click(object sender, System.EventArgs e)
{
if(dgdshow.EditItemIndex!= -1)
{
for (int i = 0; i < dgdshow.Items.Count; i++)
{
string product_id = dgdshow.Items[i].Cells[7].Text;
dgdshow.Items[i].Cells[2].Text = product_id;
}
return;
}
CheckVisible(false);
lblRequire.Text = "";
Session["Tb_Product"] = "";
ddlProduct.Enabled = true;
}
----------
//Delete
private void btnDelete_Click(object sender, System.EventArgs e)
{
if(((CheckBox)this.dgdshow.Items[i].Cells[0].Controls[1]).Checked)
{
string seq = dgdshow.Items[i].Cells[6].Text;

string connStr = ConfigurationSettings.AppSettings["MyDbConn2"].ToString();
SqlConnection cn = new SqlConnection(connStr);
string Del = "Delete Tb_Product Where seq='"+seq+"'";
SqlDataAdapter cmd = new SqlDataAdapter(Del, cn);
DataSet dsProduct = new DataSet();
cmd.Fill(dsProduct, "Tb_Product");
dsProduct.AcceptChanges();

dtPruductForGridGrid();
PaintGrid();
CheckVisible(true);

lblRequire.Text = "Delete data completed";
btnDelete.Enabled = false;
}
}
----------
//check edit grid
private void SetCommandLink(string flag)
{
for(int i=0;i<=this.dgdshow.Items.Count;i++)
{
try
{
((LinkButton)this.dgdshow.Items[i].Cells[5].Controls[0]).CommandArgument = flag;
}
catch{}
}
}
----------
//Edit grid
private void dgdshow_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string product_id = dgdshow.Items[e.Item.ItemIndex].Cells[7].Text;
dgdshow.EditItemIndex = e.Item.ItemIndex;
dtPruductForGridGrid();
PaintGrid();
dgdshow.Items[e.Item.ItemIndex].Cells[2].Text = product_id;
SetCommandLink("Edit");
ddlProduct.Enabled = false;
CheckVisible(true);
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
lblRequire.Text = "";

}
----------
//Cancel grid
private void dgdshow_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dgdshow.EditItemIndex = -1;
dtPruductForGridGrid();
PaintGrid();
CheckVisible(true);
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
ddlProduct.Enabled = true;
lblRequire.Text = "";
}
----------
//Page Current
private void dgdshow_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
if(dgdshow.EditItemIndex!= -1)
{
for (int i = 0; i < dgdshow.Items.Count; i++)
{
string product_id = dgdshow.Items[i].Cells[7].Text;
dgdshow.Items[i].Cells[2].Text = product_id;
}
return;
}
dgdshow.CurrentPageIndex = e.NewPageIndex;
gpage = e.NewPageIndex;
dtPruductForGridGrid();
PaintGrid();
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
ddlProduct.Enabled = true;
CheckVisible(true);
lblRequire.Text = "";
}
----------
//Max Seq for Insert
private int MaxSeq(string new_seq)
{
int max = 0;
string seq = "";
for (int i = 0; i < dgdshow.Items.Count; i++)
{
seq = dgdshow.Items[i].Cells[6].Text;
if(int.Parse(seq.ToString())>max)
{
max = int.Parse(seq.ToString());
}
}
max = max+1;
return max;
}
----------
//Inser/Update grid
private void dgdshow_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string proID = "";
string remark = "";
string proName = "";
string seq = "";

#region Insert/Update
string fag = ((LinkButton)this.dgdshow.Items[e.Item.ItemIndex].Cells[5].Controls[0]).CommandArgument;
if(fag.Equals("Edit"))//Update
{
if((proName =((TextBox)this.dgdshow.Items[e.Item.ItemIndex].Cells[3].Controls[1]).Text)!="")
{
proID = dgdshow.Items[e.Item.ItemIndex].Cells[7].Text;
remark = ((TextBox)dgdshow.Items[e.Item.ItemIndex].Cells[4].Controls[1]).Text;
seq = dgdshow.Items[e.Item.ItemIndex].Cells[6].Text;
try
{

string connStr = ConfigurationSettings.AppSettings["MyDbConn2"].ToString();
SqlConnection cn = new SqlConnection(connStr);
string Update = "Update Tb_Product set product_name='"+proName+"',remark='"+remark+"' Where product_id = '"+proID+"' and seq='"+seq+"'";
SqlDataAdapter cmd = new SqlDataAdapter(Update, cn);
DataSet dsProduct = new DataSet();
cmd.Fill(dsProduct, "Tb_Product");
dsProduct.AcceptChanges();

dgdshow.EditItemIndex = -1;
dtPruductForGridGrid();
PaintGrid();
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
lblRequire.Text = "Save data completed";
}
catch(Exception err)
{
lblRequire.Text ="Update data is fail";
dtPruductForGridGrid();
PaintGrid();
CheckVisible(true);
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
return;
}

}
else
{
lblRequire.Text ="Please key Product Name";
((TextBox)this.dgdshow.Items[e.Item.ItemIndex].Cells[3].Controls[1]).Text = "";
string forFocus = ((TextBox)dgdshow.Items[e.Item.ItemIndex].Cells[3].Controls[1]).ClientID;
RegisterStartupScript("x1","");
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
CheckVisible(true);
return;
}
}
else//insert
{
remark = ((TextBox)dgdshow.Items[e.Item.ItemIndex].Cells[4].Controls[1]).Text;
seq = dgdshow.Items[e.Item.ItemIndex].Cells[6].Text;
if((proID =((TextBox)this.dgdshow.Items[e.Item.ItemIndex].Cells[2].Controls[1]).Text)!="")
{
if((proName =((TextBox)this.dgdshow.Items[e.Item.ItemIndex].Cells[3].Controls[1]).Text)!="")
{
try
{
string connStr = ConfigurationSettings.AppSettings["MyDbConn2"].ToString();
SqlConnection cn = new SqlConnection(connStr);
//gen new seq no
int newseq = MaxSeq(seq);
string Insert = "INSERT INTO Tb_Product(Seq,Product_id,Product_Name,Remark) VALUES ('"+newseq+"','"+proID+"','"+proName+"','"+remark+"') ";
SqlDataAdapter cmd = new SqlDataAdapter(Insert, cn);
DataSet dsProduct = new DataSet();
cmd.Fill(dsProduct, "Tb_Product");
dsProduct.AcceptChanges();

dgdshow.EditItemIndex = -1;
dtPruductForGridGrid();
PaintGrid();
lblRequire.Text = "Save data completed";
}
catch(Exception err)
{
lblRequire.Text = "Duplicate Data,Please your key new Product";
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
CheckVisible(true);
return;
}
}
else
{
lblRequire.Text = "Please key Product Name";
((TextBox)this.dgdshow.Items[e.Item.ItemIndex].Cells[3].Controls[1]).Text = "";
string forFocus = ((TextBox)dgdshow.Items[e.Item.ItemIndex].Cells[3].Controls[1]).ClientID;
RegisterStartupScript("x3","");
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
CheckVisible(true);
return;
}
}
else
{
lblRequire.Text = "Please key Product ID";
((DropDownList)this.dgdshow.Items[e.Item.ItemIndex].Cells[2].Controls[1]).SelectedValue = "";
string forFocus = ((DropDownList)dgdshow.Items[e.Item.ItemIndex].Cells[2].Controls[1]).ClientID;
RegisterStartupScript("x4","");
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
CheckVisible(true);
return;
}
}
#endregion

ddlProduct.Enabled = true;
CheckVisible(true);
for (int i = 0; i < dgdshow.Items.Count; i++)
{
dgdshow.Items[i].Cells[1].Text = ((dgdshow.CurrentPageIndex*dgdshow.PageSize)+(i+1)).ToString();
}
}

Run Program



Click F5 for building and running programing ,You can add insert update delete data in grid now.

2008-01-22

Create Web.config



The fourth line number is important.

2008-01-21

TexBox and Label Bindings on Grid

Data Bindings on Grid for TexBox and Label
1. Select DataBindings at Properties
2. Select Custom bingding expression
3. Copy : DataBinder.Eval(Container, "DataItem.pf_status_name")
4. OK

HTML Form

Form Design

2008-01-20

Solution For C#.Net




If you created add new project name's "Test3",
You will have solution and project name's Test3 and Form default name's WebForm1.aspx.

Add New Project For ASP.Net Application



The system default URL: http://localhost/WebApplication1,You can change name WebApplication1 --> Test or Other.
Google