using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace DBUtility { public partial class Gy_Base : Form { public string ViewName ; public string BillName ; public string ModName ; public int HItemIDCol; public int HNumberCol; public ClsPub.Enum_InputMode InputMode; //录入状态标志(0-非录入状态 1-增加 2-修改) public long HItemID;//项目ID public string sCondition; //过滤条件 public TreeNode CurNode = new TreeNode(); public frm_B_BillQueryCondition_New frmCondition; public Gy_Base() { InitializeComponent(); } //以下代码基本不需要修改 #region 固定代码 //新增 public void AddNew() { InputMode =ClsPub.Enum_InputMode.InputMode_AddNew; Init(); } //退出模块 private void tc_Click(object sender, EventArgs e) { this.Close(); } //刷新 private void xs_Click(object sender, EventArgs e) { Display(); } //查询 //取消按钮 private void cmdCancel_Click(object sender, EventArgs e) { InputMode = ClsPub.Enum_InputMode.InputMode_View; RefreshTool(); } //保存按钮 private void cmdOK_Click(object sender, EventArgs e) { if (!WriteClass()) return; if (Save()) { MessageBox.Show("保存完毕!", "提示"); } else { MessageBox.Show("保存失败!原因:"+ClsPub.sExeReturnInfo, "提示"); } if (InputMode == ClsPub.Enum_InputMode.InputMode_Modify) { InputMode = ClsPub.Enum_InputMode.InputMode_View; RefreshTool(); } } //树型 单击 private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { CurNode = e.Node; if (CurNode != null) { if (CurNode.Nodes.Count == 0) LoadAllNodes(CurNode); //找到选中结点 FindRow(CurNode.Text); } } //删除 private void sc_Click(object sender, EventArgs e) { Delete(); } //新增按钮 private void xz_Click(object sender, EventArgs e) { InputMode = ClsPub.Enum_InputMode.InputMode_AddNew; Init(); } //修改 public void Modify() { if (AllowRow()) { InputMode = ClsPub.Enum_InputMode.InputMode_Modify; RefreshTool(); Init(); } } //修改按钮 private void xg_Click(object sender, EventArgs e) { Modify(); } //选中行是否正常 public bool AllowRow() //Lock { if (grdMain.CurrentRow!=null) return true; else return false; } // public void Sub_Copy() { txtHNumber.Text = ""; HItemID = 0; InputMode = ClsPub.Enum_InputMode.InputMode_AddNew; } //保存列宽 private void bclk_Click(object sender, EventArgs e) { ClsPub.SaveGridView(grdMain, this.Name,ClsPub.AppPath); } //默认列宽 private void mrlk_Click(object sender, EventArgs e)//Lock { ClsPub.DefaultGridView(grdMain); //参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽 ClsPub.SaveGridView(grdMain, this.Name, ClsPub.AppPath); } //时间控件 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; Display(); } //双击GRID private void grdMain_DblClick(object sender, EventArgs e) { Modify(); } //复制按钮 private void fz_Click(object sender, EventArgs e) { Sub_Copy(); } #endregion #region 类的读写 //读取类 到 控件 public virtual void ShowData(long sItemID) { return; } //写入类 从控件 public virtual bool WriteClass() { return true; } //显示列表 public void Display() // 幻心 { SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); DataSet DSet; string sSql = ""; string sWhere = ""; //刷新树形 //LoadTree(); //过滤条件 if (ClsPub.isStrNull(sCondition) == "" && frmCondition.SqlStr.Trim().Length != 0) { sSql = frmCondition.SqlStr + sWhere + " order by HItemID"; } else if (ClsPub.isStrNull(sCondition) != "") { sSql = "Select * from " + ViewName + sCondition + sWhere + " order by HItemID"; } else { sSql = "Select * from " + ViewName + " order by HItemID"; } //执行SQL DSet = SubCn.RunProcReturn(sSql, ViewName, ref ClsPub.sExeReturnInfo); // if (DSet == null) { MessageBox.Show("显示失败!原因:" + ClsPub.sExeReturnInfo); return; } grdMain.DataSource = DSet.Tables[0].DefaultView; // HItemIDCol = Fun_GetCol("HItemID"); sCondition = ""; } //加载子结点 public virtual void LoadAllNodes(TreeNode sNode) //Lock { } //删除项目 public virtual void Delete() { //------------- } //查询 public virtual void Query() { //============ } //初始化界面 public virtual bool Init() { return true; } //保存 public virtual bool Save() { return true; } //保存前判断 public virtual bool AllowSave() { return true; } #endregion #region 界面控件处理 private void grdMain_DoubleClick(object sender, EventArgs e) { Modify(); } private void cmdLoadTree_Click(object sender, EventArgs e) { LoadTree(); } private void cx_Click(object sender, EventArgs e) { Query(); } #endregion } }