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_Base2 : 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_Base2()
|
{
|
InitializeComponent();
|
}
|
//以下代码基本不需要修改
|
#region 固定代码
|
|
|
|
//加载树形
|
public void LoadTree()//Lock
|
{
|
try
|
{
|
tv.Nodes.Clear();
|
tv.ImageList = imageList1;
|
TreeNode sNode = tv.Nodes.Add("T0", this.Text, 0, 1);
|
LoadAllNodes(sNode);
|
}
|
catch (Exception e )
|
{
|
MessageBox.Show("加载树型失败!" + e.Message, "提示");
|
}
|
}
|
//新增
|
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();
|
}
|
//查询
|
|
//得到对应列
|
public Int32 Fun_GetCol(string sCol)//Lock
|
{
|
for (int c = 0; c <grdMain.ColumnCount; c++)
|
{
|
if (ClsPub.isStrNull(grdMain.Columns[c].HeaderText).ToUpper().Trim() == sCol.Trim().ToUpper())
|
{
|
return c;
|
}
|
}
|
return 0;
|
}
|
|
|
//刷新TOOLBAR
|
public void RefreshTool()//Lock
|
{
|
if (InputMode == ClsPub.Enum_InputMode.InputMode_View)
|
{
|
stTab.SelectedIndex = 0;
|
stTab.TabPages.Remove(this.tabPage2);
|
stTab.TabPages.Remove(this.tabPage1);
|
stTab.TabPages.Add(this.tabPage1);
|
grdMain.Enabled = true;
|
tc.Enabled = true;
|
yl.Enabled = true;
|
xz.Enabled = true;
|
xg.Enabled = true;
|
sc.Enabled = true;
|
xs.Enabled = true;
|
cx.Enabled = true;
|
fz.Enabled = false;
|
}
|
else
|
{
|
stTab.SelectedIndex = 1;
|
stTab.TabPages.Remove(this.tabPage1);
|
stTab.TabPages.Remove(this.tabPage2);
|
stTab.TabPages.Add(this.tabPage2);
|
stTab.TabPages[0].Hide();
|
grdMain.Enabled = false;
|
tc.Enabled = true;
|
yl.Enabled = false;
|
xz.Enabled = false;
|
xg.Enabled = false;
|
sc.Enabled = false;
|
xs.Enabled = false;
|
cx.Enabled = false;
|
fz.Enabled = true;
|
}
|
}
|
|
//取消按钮
|
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);
|
}
|
}
|
//过滤资料
|
public void FindRow(string sCode)//Lock
|
{
|
sCode = sCode.Trim();
|
char c = Convert.ToChar("-");
|
string[] s = sCode.Split(c);
|
if (s.Length > 1)
|
{
|
sCondition =" Where " + ModName + "代码 like '" + s[0].Trim()+"%'";
|
//
|
Display();
|
}
|
else if (s.Length > 0)
|
{
|
sCondition = " Where " + ModName + "代码 like '%%'";
|
//
|
Display();
|
}
|
else
|
{
|
|
}
|
}
|
//删除
|
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();
|
}
|
//初始化GRID
|
public void initGrid()
|
{
|
grdMain.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //选中模式--行选中
|
grdMain.ColumnHeadersVisible = true; //标题列显示--是
|
grdMain.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; //标题列尺寸模式--(自动调整,可调整)
|
grdMain.RowTemplate.Height = 18;
|
grdMain.RowTemplate.MinimumHeight = 18;
|
grdMain.ColumnHeadersHeight = 35; //标题行高
|
grdMain.RowHeadersVisible = false; //标题行可见--否
|
grdMain.AllowUserToAddRows = false; //是否允许自增--否
|
grdMain.AllowUserToDeleteRows = false; //是否允许删除--否
|
grdMain.ColumnCount = 0; //总列数--5
|
grdMain.RowCount = 0;
|
grdMain.AllowUserToResizeColumns = true; //允许调整列宽--是
|
grdMain.AllowUserToResizeRows = false; //允许调整行高--否
|
grdMain.ReadOnly = true; //只读--是
|
grdMain.BackgroundColor = Color.White;
|
grdMain.GridColor = Color.LightGray;
|
grdMain.DefaultCellStyle.SelectionBackColor = Color.Black;
|
grdMain.EnableHeadersVisualStyles = true; //网格标题 样式
|
}
|
|
//复制按钮
|
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;
|
//加载列宽
|
for (int i = 0; i < grdMain.ColumnCount; i++)
|
{
|
grdMain.Columns[i].Width = 100;
|
if (grdMain.Columns[i].HeaderText.Substring(0, 1).ToLower() == "h")
|
{
|
grdMain.Columns[i].Visible = false;
|
}
|
else
|
{
|
grdMain.Columns[i].Visible = true;
|
}
|
}
|
ClsPub.GetGridView(this.grdMain, this.Name, DBUtility.ClsPub.AppPath);
|
//
|
HItemIDCol = Fun_GetCol("HItemID");
|
sCondition = "";
|
}
|
|
//加载子结点
|
public virtual void LoadAllNodes(TreeNode sNode) //Lock
|
{
|
return;
|
}
|
|
//删除项目
|
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 界面控件处理
|
|
|
|
//新增时清空信息
|
public void Sub_Clear() //Lock
|
{
|
//清空界面控件 for 控件
|
foreach (Control ct in tabPage2.Controls)
|
{
|
switch (ct.GetType().Name)
|
{
|
case "ListBox":
|
((ListBox)ct).Items.Clear();
|
break;
|
case "CheckBox":
|
((CheckBox)ct).Checked = false;
|
break;
|
case "RadioButton":
|
|
break;
|
case "TextBox":
|
((TextBox)ct).Text = "";
|
break;
|
case "DateTimePicker":
|
((DateTimePicker)ct).Value = DateTime.Today;
|
break;
|
default:
|
break;
|
}
|
}
|
//
|
HItemID = 0;
|
//txtHNumber.Focus();
|
}
|
|
|
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
|
|
|
|
|
}
|
}
|