Update, edit, insert trong gridview asp.net
Hôm nay thấy có bạn trong vn-zoom hỏi về cách update, edit, insert nên mình quyết định làm một bài viết về cái này. Hy vọng có thể giúp được các bạn lần sau đỡ phải đi hỏi.
Bài viết hướng dẫn bạn làm với gridview nhưng Ngoài ra bạn có thể tham khảo bài viết Edit table bằng Jquery và Ajax này
Đầu tiên là kết nối với SqlServer và bind dữ liệu lên gridview. Bạn sử dụng namespace là System.Data.SqlClient, sau đó thêm đoạn code sau:
Bài viết hướng dẫn bạn làm với gridview nhưng Ngoài ra bạn có thể tham khảo bài viết Edit table bằng Jquery và Ajax này
Đầu tiên là kết nối với SqlServer và bind dữ liệu lên gridview. Bạn sử dụng namespace là System.Data.SqlClient, sau đó thêm đoạn code sau:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable dt = GetUsersForModeration(); gvUsers.DataSource = dt; gvUsers.DataBind(); } } public DataTable GetUsersForModeration() { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Sql"].ConnectionString); con.Open(); SqlCommand com = new SqlCommand("SP_GetUsersForModeration", con); com.CommandType = CommandType.StoredProcedure; SqlDataAdapter ada = new SqlDataAdapter(com); DataTable ds = new DataTable(); ada.Fill(dt); return dt; } |
Đoạn code trên có sử dụng stored procedure là SP_GetUserForModeration. Stored này bạn có thể thay đổi theo ý bạn nhé.
Sau đó chỉnh kết nối trong file web.config
Sau đó chỉnh kết nối trong file web.config
1
2
3
| <connectionStrings> <add name= "Sql" connectionString= "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True;" /> </connectionStrings> |
Giờ ta tiến hành thực hiện Edit/Update dữ liệu trên gridview này. Kéo một gridview vào trang aspx của chúng ta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <asp:GridView ID= "gvModerateCodes" runat= "server" AutoGenerateColumns= "False" BackColor= "White" BorderColor= "#010101" BorderStyle= "Groove" BorderWidth= "1px" CellPadding= "4" OnRowCancelingEdit= "gvModerateCodes_RowCancelingEdit" OnRowEditing= "gvModerateCodes_RowEditing" OnRowUpdating= "gvModerateCodes_RowUpdating" > <Columns> <asp:BoundField DataField= "CodeID" HeaderText= "CodeID" ReadOnly= "True" /> <asp:BoundField DataField= "Title" HeaderText= "Title" /> <asp:BoundField DataField= "Description" HeaderText= "Description" /> <asp:TemplateField HeaderText= "URL" > <EditItemTemplate> <asp:TextBox ID= "txtURL" Width= "100%" Text= '<%# Bind("URL")%>' runat= "server" ></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:HyperLink ID= "hplURL" Text= '<%# Bind("URL") %>' NavigateUrl= '<%# Bind("URL") %>' runat= "server" >[hplURL]</asp:HyperLink> </ItemTemplate> </asp:TemplateField> <asp:CommandField ShowEditButton= "True" /> </Columns> </asp:GridView> |
Sau đó thêm đoạn code bên dưới
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetCode(); } } public void GetCode() { gvModerateCodes.DataSource = daoCD.GetCodesForModeration(); //Get data from DB gvModerateCodes.DataBind(); } protected void btnGetArticles_Click(object sender, EventArgs e) { GetCode(); } protected void gvModerateCodes_RowUpdating(object sender, GridViewUpdateEventArgs e) { string articleID = gvModerateCodes.Rows[e.RowIndex].Cells[0].Text; string title = (gvModerateCodes.Rows[e.RowIndex].Cells[1].Controls[0] as TextBox).Text; string url = (gvModerateCodes.Rows[e.RowIndex].Cells[3].Controls[1] as TextBox).Text; string description = (gvModerateCodes.Rows[e.RowIndex].Cells[2].Controls[0] as TextBox).Text; daoCD.UpdateCode(int.Parse(articleID), title, url, description); //update data to DB gvModerateCodes.EditIndex = -1; GetCode(); } protected void gvModerateCodes_RowEditing(object sender, GridViewEditEventArgs e) { gvModerateCodes.EditIndex = e.NewEditIndex; GetCode(); } protected void gvModerateCodes_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { gvModerateCodes.EditIndex = -1; GetCode(); } |
OK vậy là xong rồi đó. Lệnh Insert thì bạn làm tương tự nhé! Good luck.
Comments[ 0 ]
Đăng nhận xét