/// <summary> /// 数据删除部分,如果要同步到数据库,要重写这个方法。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void Item_DataDelete(object sender, AccessItem.DataDeleteEventArgs e) { //删除这一个项目的数据 ((AccessItem)sender).DR.Delete();//这个Delete的作用仅仅是标记这个是要删除的。 //更新到数据库 update(); DT.AcceptChanges();//这一步好像多此一举,不过还是加上吧。 //然后这个控件不可见 ((AccessItem)sender).Visible = false; //然后把这个控件从布局中删除 flowLayoutPanel1.Controls.Remove((Control)sender); //最后清空这个值 ((AccessItem)sender).DR = null; //throw new NotImplementedException(); }
protected void btnAdd_Click(object sender, EventArgs e) { DataTable DT; if (ViewState["DeductionDetails"] != null) { DT = (DataTable)ViewState["DeductionDetails"]; } else { DT = new DataTable(); DT.Columns.Add("DeductionLedgerId", typeof(int)); DT.Columns.Add("DeductionHead", typeof(string)); DT.Columns.Add("Amount", typeof(decimal)); } DataView dv = new DataView(DT); dv.RowFilter = "DeductionLedgerId=" + ddlDeductionLedger.SelectedValue.Trim(); if (dv.ToTable().Rows.Count == 0) { DataRow DR = DT.NewRow(); DR["DeductionLedgerId"] = Convert.ToInt32(ddlDeductionLedger.SelectedValue.Trim()); DR["DeductionHead"] = ddlDeductionLedger.SelectedItem.Text; DR["Amount"] = Convert.ToDecimal(txtDeductionAmount.Text.Trim()); DT.Rows.Add(DR); DT.AcceptChanges(); ViewState["DeductionDetails"] = DT; dgvDeduction.DataSource = DT; dgvDeduction.DataBind(); txtTotalDeductionAmt.Text = (Convert.ToDecimal(txtTotalDeductionAmt.Text) + Convert.ToDecimal(txtDeductionAmount.Text.Trim())).ToString(); Message.Show = false; } else { Message.Show = false; Message.Text = "This Ledger Already Exists in The Deduction List. Please Select Other."; Message.Show = true; } }