You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
3.7 KiB
150 lines
3.7 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Stone.WinBiz.BasicData;
|
|
using Stone.Common;
|
|
|
|
namespace Stone.WinModule.BasicData
|
|
{
|
|
public partial class frmBaseMainDetail : Form
|
|
{
|
|
public F_Base m_Base = null;
|
|
public DataRow drData = null;
|
|
public int type = 1;
|
|
|
|
public frmBaseMainDetail()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public DialogResult ShowAdd()
|
|
{
|
|
type = 1; //新增
|
|
this.Text = m_Base.name + "_新增";
|
|
return this.ShowDialog();
|
|
}
|
|
|
|
public DialogResult ShowAddCopy(int ID)
|
|
{
|
|
type = 1; //复制新增
|
|
this.Text = m_Base.name + "_新增";
|
|
drData = m_Base.GetData(ID);
|
|
if (drData == null)
|
|
{
|
|
throw new Exception("复制的记录不存在,或已经被其他用户删除!");
|
|
}
|
|
|
|
SetData();
|
|
return this.ShowDialog();
|
|
}
|
|
|
|
public DialogResult ShowEdit(int ID)
|
|
{
|
|
type = 2; //修改
|
|
this.Text = m_Base.name + "_修改";
|
|
this.btnAddNewLine.Visible = false;
|
|
drData = m_Base.GetData(ID);
|
|
if (drData == null)
|
|
{
|
|
throw new Exception("修改的记录不存在,或已经被其他用户删除!");
|
|
}
|
|
|
|
SetData();
|
|
return this.ShowDialog();
|
|
}
|
|
|
|
private void frmBaseMainDetail_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void btnAddNewLine_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (GetData())
|
|
{
|
|
m_Base.Add(drData);
|
|
Clear();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage("新增记录失败!详细原因为:" + ex.Message);
|
|
}
|
|
}
|
|
|
|
private void btnOK_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (GetData())
|
|
{
|
|
if (type == 1) //新增
|
|
{
|
|
m_Base.Add(drData);
|
|
}
|
|
else //修改
|
|
{
|
|
m_Base.Edit(drData);
|
|
}
|
|
|
|
//操作完成后关闭窗口,并返回一个OK信息
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void btnClose_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
#region 继承需要覆写的方法
|
|
/// <summary>
|
|
/// 清除所有填写控件中的值(覆写用)
|
|
/// </summary>
|
|
public virtual void Clear()
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 为窗口中的控件赋值(覆写用)
|
|
/// </summary>
|
|
public virtual bool SetData()
|
|
{
|
|
if (drData == null)
|
|
{
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取得窗口中控件的值(覆写用)
|
|
/// </summary>
|
|
public virtual bool GetData()
|
|
{
|
|
if (type == 1)
|
|
{
|
|
drData = m_Base.dsMain.Tables["Table"].NewRow();
|
|
}
|
|
return true;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
|