2. Cấu hình tập tin
web.config:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5"
/>
<httpRuntime targetFramework="4.5"
/>
</system.web>
<connectionStrings>
<add name="conn" connectionString="Data
Source=hiennm;Initial Catalog=CustomerManage;Integrated Security=True"/>
</connectionStrings>
</configuration>
3. Tập tin Default.aspx (Thiết kế giao diện)
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="dvGrid" style="padding:10px;
width:550px">
<asp:GridView ID="GridView1" runat="server" Width = "550px"
AutoGenerateColumns = "false" Font-Names = "Arial"
Font-Size = "11pt" AlternatingRowStyle-BackColor = "#C2D69A"
HeaderStyle-BackColor = "blue" AllowPaging ="true" ShowFooter = "true"
OnPageIndexChanging = "OnPaging" onrowediting="EditCustomer"
onrowupdating="UpdateCustomer" onrowcancelingedit="CancelEdit"
PageSize = "10" >
<Columns>
<asp:TemplateField ItemStyle-Width = "30px" HeaderText = "CustomerID">
<ItemTemplate>
<asp:Label ID="lblCustomerID" runat="server"
Text='<%#
Eval("CustomerID")%>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtCustomerID" Width = "40px"
MaxLength = "5" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width = "100px" HeaderText = "Name">
<ItemTemplate>
<asp:Label ID="lblContactName" runat="server"
Text='<%#
Eval("ContactName")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtContactName" runat="server"
Text='<%#
Eval("ContactName")%>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtContactName" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width = "150px" HeaderText = "Company">
<ItemTemplate>
<asp:Label ID="lblCompany" runat="server"
Text='<%#
Eval("CompanyName")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtCompany" runat="server"
Text='<%#
Eval("CompanyName")%>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtCompany" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkRemove" runat="server"
CommandArgument = '<%#
Eval("CustomerID")%>'
OnClientClick = "return
confirm('Do you want to delete?')"
Text = "Delete" OnClick = "DeleteCustomer"></asp:LinkButton>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="btnAdd" runat="server" Text="Add"
OnClick = "AddNewCustomer" />
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" />
</Columns>
<AlternatingRowStyle BackColor="#C2D69A" />
</asp:GridView>
</div>
</form>
</body>
</html>
4. File Default.aspx.cs
(Mã nguồn C#)
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;
using
System.Configuration;
public partial class Insert_Update_Delete
: System.Web.UI.Page
{
private String
strConnString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
private void
BindData(){
string
strQuery = "select
CustomerID,ContactName,CompanyName" +
"
from customers";
SqlCommand
cmd = new SqlCommand(strQuery);
GridView1.DataSource = GetData(cmd);
GridView1.DataBind();
}
private DataTable
GetData(SqlCommand cmd){
DataTable
dt = new DataTable();
SqlConnection
con = new SqlConnection(strConnString);
SqlDataAdapter
sda = new SqlDataAdapter();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
sda.SelectCommand = cmd;
sda.Fill(dt);
return
dt;
}
protected void
Page_Load(object sender, EventArgs
e){
if
(!IsPostBack)
{
BindData();
}
}
protected void
AddNewCustomer(object sender, EventArgs
e){
string
CustomerID = ((TextBox)GridView1.FooterRow.FindControl("txtCustomerID")).Text;
string
Name = ((TextBox)GridView1.FooterRow.FindControl("txtContactName")).Text;
string
Company = ((TextBox)GridView1.FooterRow.FindControl("txtCompany")).Text;
SqlConnection
con = new SqlConnection(strConnString);
SqlCommand
cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert
into customers(CustomerID, ContactName, CompanyName) "
+
"values(@CustomerID,
@ContactName, @CompanyName);" +
"select
CustomerID,ContactName,CompanyName from customers";
cmd.Parameters.Add("@CustomerID",
SqlDbType.VarChar).Value = CustomerID;
cmd.Parameters.Add("@ContactName",
SqlDbType.VarChar).Value = Name;
cmd.Parameters.Add("@CompanyName",
SqlDbType.VarChar).Value = Company;
GridView1.DataSource = GetData(cmd);
GridView1.DataBind();
}
protected void
EditCustomer(object sender, GridViewEditEventArgs
e)
{
GridView1.EditIndex = e.NewEditIndex;
BindData();
}
protected void
CancelEdit(object sender, GridViewCancelEditEventArgs
e)
{
GridView1.EditIndex = -1;
BindData();
}
protected void
UpdateCustomer(object sender, GridViewUpdateEventArgs
e)
{
string
CustomerID = ((Label)GridView1.Rows[e.RowIndex]
.FindControl("lblCustomerID")).Text;
string
Name = ((TextBox)GridView1.Rows[e.RowIndex]
.FindControl("txtContactName")).Text;
string
Company = ((TextBox)GridView1.Rows[e.RowIndex]
.FindControl("txtCompany")).Text;
SqlConnection
con = new SqlConnection(strConnString);
SqlCommand
cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "update
customers set ContactName=@ContactName," +
"CompanyName=@CompanyName
where CustomerID=@CustomerID;" +
"select
CustomerID,ContactName,CompanyName from customers";
cmd.Parameters.Add("@CustomerID",
SqlDbType.VarChar).Value = CustomerID;
cmd.Parameters.Add("@ContactName",
SqlDbType.VarChar).Value = Name;
cmd.Parameters.Add("@CompanyName",
SqlDbType.VarChar).Value = Company;
GridView1.EditIndex = -1;
GridView1.DataSource = GetData(cmd);
GridView1.DataBind();
}
protected void
DeleteCustomer(object sender, EventArgs
e)
{
LinkButton
lnkRemove = (LinkButton)sender;
SqlConnection
con = new SqlConnection(strConnString);
SqlCommand
cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "delete
from customers where "
+
"CustomerID=@CustomerID;"
+
"select
CustomerID,ContactName,CompanyName from customers";
cmd.Parameters.Add("@CustomerID",
SqlDbType.VarChar).Value
= lnkRemove.CommandArgument;
GridView1.DataSource = GetData(cmd);
GridView1.DataBind();
}
protected void
OnPaging(object sender, GridViewPageEventArgs
e)
{
BindData();
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
}
Tags: Asp.net, asp, mvc, gridview, vs 2013, visual studio, mfc, c#, vb.net