コード例 #1
0
        /// <summary>
        /// 添加至明细记录(注:可多行选择)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Tmadd_Click(object sender, EventArgs e)
        {
            try
            {
                //定义‘_adddt’临时表的行数
                var addcount = 0;

                if (gvsearchdtl.RowCount == 0)
                {
                    throw new Exception("没有查询结果,不能添加");
                }

                //获取临时表
                var temp = dbList.Get_Searchdt();

                foreach (DataGridViewRow row in gvsearchdtl.SelectedRows)
                {
                    var newrow = temp.NewRow();
                    newrow[0] = row.Cells[0].Value;  //FMATERIALID
                    newrow[1] = row.Cells[1].Value;  //物料编码
                    newrow[2] = row.Cells[2].Value;  //物料名称
                    newrow[3] = row.Cells[4].Value;  //规格型号
                    newrow[4] = row.Cells[6].Value;  //密度(KG/L)
                    temp.Rows.Add(newrow);
                }
                //若_adddt为空,即返回0
                addcount = _adddt?.Rows.Count ?? 0;
                //若_addit为空的话,就将temp.Clone() 给它
                if (_adddt == null)
                {
                    _adddt = temp.Clone();
                }
                //若_adddt+temp.rowscount得出的总行数>10行时,即提示异常
                if (addcount + temp.Rows.Count > 10)
                {
                    throw new Exception("添加行数已超过10行,不能继续");
                }
                //判断若需要添加的记录,已在_adddt存在,即提示异常
                if (!CheckRecord(temp))
                {
                    throw new Exception("已添加,不能再次进行添加");
                }
                //将要添加的记录添加至‘添加明细记录’GridView内
                gvdtl.DataSource = AddsoucetoDt(temp);
                //控制GridView单元格显示方式
                ControlGridViewisShow(1);
                //若添加成功,执行以下操作
                //按详细情况将对应的生成按钮显示
                CheckShowButton();
                //按情况将对应‘生成’按钮设置为可用
                if (GlobalClasscs.Fun.FunctionName == "N")
                {
                    btngennew.Enabled = true;
                }
                else
                {
                    btngenerate.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }