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.
480 lines
13 KiB
480 lines
13 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Stone.WinBiz.BasicData;
|
|
using Stone.Common;
|
|
|
|
namespace Stone.WinModule.BasicData
|
|
{
|
|
public partial class frmBaseMain : Stone.WinModule.frmBase
|
|
{
|
|
public F_Base m_Base = null;
|
|
public string strWhere = "1=1";
|
|
public frmSelectDataGridView frmFilter = null;
|
|
public string SelectValue = "";
|
|
public DataGridViewRow SelectRow = null;
|
|
|
|
|
|
/// <summary>
|
|
/// 设为只读模式(隐藏新增、删除、修改按钮啥的)
|
|
/// </summary>
|
|
public virtual void ReadOnly()
|
|
{
|
|
this.tlbAdd.Enabled = false;
|
|
this.tlbAddCopy.Enabled = false;
|
|
this.tlbEdit.Enabled = false;
|
|
this.tlbDelete.Enabled = false;
|
|
this.tlbInput.Enabled = false;
|
|
this.tlbView.Enabled = false;
|
|
|
|
this.tlbAdd.Visible = false;
|
|
this.tlbAddCopy.Visible = false;
|
|
this.tlbEdit.Visible = false;
|
|
this.tlbDelete.Visible = false;
|
|
this.tlbInput.Visible = false;
|
|
this.tlbView.Visible = false;
|
|
|
|
}
|
|
|
|
public virtual void init()
|
|
{
|
|
try
|
|
{
|
|
//this.dgrdView.MultiSelect = true;
|
|
|
|
this.Text = m_Base.name;
|
|
this.TabText = m_Base.name;
|
|
UpdateGridView();
|
|
frmFilter = new frmSelectDataGridView(this.dgrdView);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
public virtual DialogResult ShowSelect(string selectValue)
|
|
{
|
|
ReadOnly();
|
|
|
|
this.tlbSelect.Enabled = true;
|
|
this.tlbSelect.Visible = true;
|
|
|
|
this.txtCode.Text = selectValue;
|
|
btnSerach_Click(new object(), new EventArgs());
|
|
return this.ShowDialog();
|
|
}
|
|
|
|
|
|
public frmBaseMain()
|
|
{
|
|
InitializeComponent();
|
|
|
|
|
|
}
|
|
|
|
private void frmBaseMain_Load(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
|
|
F_Log.WriteLog($"进入[{m_Base.name}]模块");
|
|
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private void tlbAdd_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (F_Factory.ShowMainDetail(m_Base).ShowAdd() == DialogResult.OK)
|
|
{
|
|
UpdateGridView();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void tlbAddCopy_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (this.dgrdView.SelectedRows.Count > 0)
|
|
{
|
|
int ID = Convert.ToInt32(this.dgrdView.SelectedRows[0].Cells["ID"].Value);
|
|
if (F_Factory.ShowMainDetail(m_Base).ShowAddCopy(ID) == DialogResult.OK)
|
|
{
|
|
UpdateGridView();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("请选择一条要复制的记录!");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
|
|
}
|
|
|
|
private void tlbEdit_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (this.dgrdView.SelectedRows.Count > 0)
|
|
{
|
|
int ID = Convert.ToInt32(this.dgrdView.SelectedRows[0].Cells["ID"].Value);
|
|
if (F_Factory.ShowMainDetail(m_Base).ShowEdit(ID) == DialogResult.OK)
|
|
{
|
|
UpdateGridView();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("请选择一条要修改的记录!");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void tlbDelete_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
Delete();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void tlbView_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (this.dgrdView.SelectedRows.Count > 0)
|
|
{
|
|
int ID = Convert.ToInt32(this.dgrdView.SelectedRows[0].Cells["ID"].Value);
|
|
F_Factory.ShowMainDetail(m_Base).ShowView(ID);
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("请选择一条要查看的记录!");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
|
|
private void tlbFilter_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
frmFilter.ShowDialog();
|
|
|
|
if (frmFilter.SelectString != "")
|
|
{
|
|
strWhere = frmFilter.SelectString;
|
|
UpdateGridView();
|
|
}
|
|
else
|
|
{
|
|
strWhere = "1=1";
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void dgrdView_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
if (this.tlbSelect.Visible && this.tlbSelect.Enabled)
|
|
{
|
|
tlbSelect_Click(new object(), new EventArgs());
|
|
}
|
|
else if (this.tlbEdit.Visible && this.tlbEdit.Enabled)
|
|
{
|
|
tlbEdit_Click(new object(), new EventArgs());
|
|
}
|
|
else if (this.tlbView.Visible && this.tlbView.Enabled)
|
|
{
|
|
tlbView_Click(new object(), new EventArgs());
|
|
}
|
|
}
|
|
|
|
private void tlbSelect_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (this.dgrdView.SelectedRows.Count > 0)
|
|
{
|
|
this.SelectValue = GetSelect();
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("请选择一条要修改的记录!");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void tlbRefresh_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
UpdateGridView();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void tlbSet_Click(object sender, EventArgs e)
|
|
{
|
|
MyGridViewStyle.Show(this.dgrdView, "BasicData" + m_Base.type.ToString());
|
|
}
|
|
|
|
private void tlbInput_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
Input();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowInfoMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void tlbOutPut_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
Stone.Common.MyExport.ShowExport(this.dgrdView);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowInfoMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void tlbExit_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
public void btnSerach_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
|
|
Search();
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MyMessageBox.ShowErrorMessage(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void txtCode_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
btnSerach_Click(new object(), new EventArgs());
|
|
}
|
|
}
|
|
|
|
private void frmBaseMain_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
MyGridViewStyle.SaveGridViewState(this.dgrdView, "BasicData" + m_Base.type.ToString());
|
|
F_Log.WriteLog($"退出[{m_Base.name}]模块");
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
|
|
#region 可覆写的方法
|
|
|
|
/// <summary>
|
|
/// 更新DataGridView显示
|
|
/// </summary>
|
|
public virtual void UpdateGridView()
|
|
{
|
|
|
|
string dateWhere = "";
|
|
if (m_Base.dateWhere != "")
|
|
{
|
|
this.txtD1.Visible = true;
|
|
this.txtD2.Visible = true;
|
|
dateWhere = m_Base.dateWhere;
|
|
|
|
dateWhere = string.Format(dateWhere, this.txtD1.Value.ToString("yyyy-MM-dd 00:00:00"), this.txtD2.Value.ToString("yyyy-MM-dd 23:59:59"));
|
|
|
|
dateWhere = " and (" + dateWhere + ")";
|
|
}
|
|
|
|
m_Base.BindPageData("(" + strWhere + ") " + dateWhere);
|
|
m_Base.GetView(this.dgrdView);
|
|
|
|
this.lblStateRecord.Text = "记录数:" + this.dgrdView.Rows.Count;
|
|
|
|
//System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
|
//dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
|
//this.dgrdView.DefaultCellStyle = dataGridViewCellStyle1;
|
|
//this.dgrdView.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
|
|
|
}
|
|
|
|
public virtual void Search()
|
|
{
|
|
|
|
string code = this.txtCode.Text.Trim();
|
|
Search(code);
|
|
this.txtCode.Focus();
|
|
this.txtCode.SelectAll();
|
|
UpdateGridView();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 快速搜索
|
|
/// </summary>
|
|
/// <param name="code"></param>
|
|
public virtual void Search(string code)
|
|
{
|
|
if (code == "")
|
|
{
|
|
strWhere = "1=1";
|
|
}
|
|
else
|
|
{
|
|
strWhere = " [Code] like '%" + code + "%' ";
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取得选择的行的值,默认为Code字段,如果是其他字段请覆写该方法
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public virtual string GetSelect()
|
|
{
|
|
SelectRow = this.dgrdView.SelectedRows[0];
|
|
return this.dgrdView.SelectedRows[0].Cells["Code"].Value.ToString();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除记录
|
|
/// </summary>
|
|
public virtual void Delete()
|
|
{
|
|
if (this.dgrdView.SelectedRows.Count > 0)
|
|
{
|
|
if (!m_Base.IsDeleteMultiple)
|
|
{
|
|
if (MyMessageBox.ShowQuestion("你确实要删除选择的记录吗?"))
|
|
{
|
|
int ID = Convert.ToInt32(this.dgrdView.SelectedRows[0].Cells["ID"].Value);
|
|
m_Base.Delete(ID);
|
|
|
|
UpdateGridView();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (MyMessageBox.ShowQuestion($"你确实要删除选择的{this.dgrdView.SelectedRows.Count}条记录吗?"))
|
|
{
|
|
for (int i = 0; i < this.dgrdView.SelectedRows.Count; i++)
|
|
{
|
|
int ID = Convert.ToInt32(this.dgrdView.SelectedRows[i].Cells["ID"].Value);
|
|
m_Base.Delete(ID);
|
|
|
|
|
|
}
|
|
|
|
UpdateGridView();
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("请选择要删除的记录!");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 在工具栏中创建一个按钮
|
|
/// </summary>
|
|
/// <param name="name"></param>
|
|
/// <param name="image_index">图标索引</param>
|
|
/// <param name="button_index">按钮位置</param>
|
|
/// <returns></returns>
|
|
public virtual ToolStripButton CreateButton(string name, int image_index, int button_index)
|
|
{
|
|
ToolStripButton btnButton = new ToolStripButton(name);
|
|
btnButton.Image = this.imageList.Images[image_index];
|
|
btnButton.TextImageRelation = TextImageRelation.ImageBeforeText;
|
|
this.toolStrip2.Items.Insert(button_index, btnButton);
|
|
|
|
return btnButton;
|
|
}
|
|
|
|
public virtual void Input()
|
|
{
|
|
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
m_Base.Input(this.openFileDialog1.FileName);
|
|
UpdateGridView();
|
|
|
|
MyMessageBox.ShowInfoMessage("数据导入成功!");
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|