Example #1
0
        /// <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;
            }
        }