private void btnDelNP_Click(object sender, EventArgs e) { try { if (bindingSource.Current != null) { DatabaseSet.非生產Row row = (bindingSource.Current as DataRowView).Row as DatabaseSet.非生產Row; int newNumber = row.編號; string newName = row.稱; if (row.編號 == Global.NonProduct_Other) { throw new SWLHMSException("非生產項目 " + row.稱 + " 不能刪除"); } if (MessageBox.Show("確定刪除 " + newNumber + " (" + newName + ") 及其所有相關資料?", "刪除提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { row.Delete(); 非生產TableAdapter.Instance.Update(row); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnStoreNP_Click(object sender, EventArgs e) { try { int newNumber = int.Parse(tbxNPNumber.Text); string newName = tbxNPName.Text; try { if (this.EditState == EditStateType.Edit) { if (bindingSource.Current != null) { DatabaseSet.非生產Row row = (bindingSource.Current as DataRowView).Row as DatabaseSet.非生產Row; if ((int)row["編號", DataRowVersion.Original] == Global.NonProduct_Other) { if (!newName.Contains("其他")) { throw new SWLHMSException("更改 其他 項目請至少包含\"其他\"兩字以進行區別"); } row.稱 = newName; if (newNumber != 100) { throw new SWLHMSException("其他 項目不得更改編號"); } } else { row.FillRow(newNumber, newName); } 非生產TableAdapter.Instance.Update(row);; } } else if (this.EditState == EditStateType.New) { DatabaseSet.非生產Row newRow = DatabaseSet.非生產Table.New非生產Row(); newRow.FillRow(newNumber, newName); DatabaseSet.非生產Table.Rows.Add(newRow); 非生產TableAdapter.Instance.Update(newRow); } } catch (ConstraintException) { MessageBox.Show("已存在非生產項目 " + newNumber + " (" + newName + "),請指定其他編號"); } this.EditState = EditStateType.None; } catch (Exception ex) { Global.ShowError(ex); } finally { if (this.EditState == EditStateType.Edit) { tbxNPNumber.DataBindings[0].ReadValue(); tbxNPName.DataBindings[0].ReadValue(); } } }