protected void myGridView_RowDeleting(object sender, GridViewDeleteEventArgs e) { int contactId = (int)myGridView.DataKeys[e.RowIndex]["ContactId"]; using (Database1Entities dc = new Database1Entities()) { var v = dc.Contacts.Where(a => a.ContactId.Equals(contactId)).FirstOrDefault(); if (v != null) { dc.Contacts.Remove(v); dc.SaveChanges(); PopulateContacts(); } } }
//function to populate the GridView with Contacts. private void PopulateContacts() { List <Contact> allContacts = null; using (Database1Entities dc = new Database1Entities()) { var contacts = (from contact in dc.Contacts join b in dc.PhoneTypes on contact.ContactPhoneType equals b.ContactPhoneType select new { contact, b.PhoneTypeName }); if (contacts != null) { allContacts = new List <Contact>(); foreach (var i in contacts) { Contact c = i.contact; c.PhoneTypeName = i.PhoneTypeName; allContacts.Add(c); } } if (allContacts == null || allContacts.Count == 0) { // Tells the footer that there's no data in GridView. allContacts.Add(new Contact()); myGridView.DataSource = allContacts; myGridView.DataBind(); myGridView.Rows[0].Visible = false; } else { myGridView.DataSource = allContacts; myGridView.DataBind(); } // Populate & bind PhoneType. if (myGridView.Rows.Count > 0) { DropDownList dd = (DropDownList)myGridView.FooterRow.FindControl("ddPhoneType"); BindPhoneType(dd, PopulatePhoneType()); } } }