📄 ucdictylzxx.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using Sybase.DataWindow;
using Qeb.Support;
using Qeb.Support.Common;
using Qeb.DBProxy;
using Qeb.Control;
namespace Qeb.GY
{
public partial class UCDictYlzXx : Qeb.GY.UCDictBase
{
private string m_RetrieveParam = "";
public UCDictYlzXx()
{
InitializeComponent();
}
private void UCDictYlzXx_Load(object sender, EventArgs e)
{
//初始化数据窗口
this.dwYlxXx.LibraryList = PBL.GyPbl;
this.dwYlxXx.DataWindowObject = GyDataObjects.D_Gy_ZgXx;
this.dwYlxXx.InitUI();
//设置数据窗口为只读
try
{
dwYlxXx.SetProperty("DataWindow.ReadOnly", "Yes");
}
catch (Exception ex)
{
MessageBox.Show("设置数据窗口只读属性发生异常:" + ex.Message);
}
//初始化按钮
btnAdd.Enabled = true;//增加
btnStop.Text = "移除";
btnStop.Enabled = true;//删除
btnModify.Enabled = false;//修改
btnSave.Enabled = false;//保存
btnRefresh.Enabled = true;//刷新、取消
btnPrint.Enabled = false;//打印
btnExport.Enabled = false;//导出
btnClose.Enabled = true;//关闭
//订阅消息
this.SubscribeEvent(MsgEventDefine.Dict_RefreshWithParam);
}
#region 消息处理
protected override void ProcessUIMessage(string messageId, UIMessageEventArgs e)
{
if (messageId == MsgEventDefine.Dict_RefreshWithParam)
{
FDictBase.TagInfo tagInfo;
try
{
tagInfo = (FDictBase.TagInfo)e.Values;
if (tagInfo.ControlName != "UCDictYlzXx")
return;
}
catch (Exception ex)
{
MessageBox.Show("处理刷新数据消息发生异常(转换参数出错):" + ex.Message, MsgTitle.Error);
return;
}
if (m_RetrieveParam != tagInfo.RefreshParam)
{
m_RetrieveParam = tagInfo.RefreshParam;
this.RetrieveData(tagInfo.RefreshParam);
}
}
}
#endregion
//检索数据
private void RetrieveData(string YlzId)
{
try
{
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.AddRetrieveParam("p_lyzid", YlzId);
proxy.Retrieve(this.dwYlxXx);
}
catch (Exception ex)
{
MessageBox.Show("检索数据出错:" + ex.Message, MsgTitle.Error);
}
this.dwYlxXx.SetSort("zgid");
this.dwYlxXx.Sort();
}
//添加
private void btnAdd_Click(object sender, EventArgs e)
{
DbProxyClient proxy = App.DbProxy;
string ylzId = "";
string zgId = "";
int rowIndex = dwYlxXx.InsertRow(0);
dwYlxXx.SetRow(rowIndex);
dwYlxXx.ScrollToRow(rowIndex);
dwYlxXx.SetColumn("zgid");
FSelect fSelect2 = null;
try
{
fSelect2 = new FSelect();
fSelect2.SetTitle("职工信息");
string sql = "SELECT * FROM GY_ZGXX WHERE ZT=0";
fSelect2.SetDataSource(sql, true);
fSelect2.AddShowColumn("ZGID", "职工ID", 200);
fSelect2.AddShowColumn("GH", "职工工号", 200);
fSelect2.AddShowColumn("ZGXM", "职工姓名", 400);
fSelect2.AddMultiReturnColumn("ZGID,GH,ZGXM");
DialogResult dResult = fSelect2.ShowDialog(this);
if (dResult == DialogResult.OK)
{
string[] retValue = fSelect2.ReturnValue;
ylzId = m_RetrieveParam.ToString();
zgId = retValue[0];
dwYlxXx.SetItemString(rowIndex, "zgid", zgId);
dwYlxXx.SetItemString(rowIndex, "gh", retValue[1]);
dwYlxXx.SetItemString(rowIndex, "zgxm", retValue[2]);
dwYlxXx.SetItemString(rowIndex, "ylzid", ylzId);
try
{
string mysql = "SELECT COUNT(*) FROM GY_YLZCY WHERE YLZID='" + ylzId + "' AND ZGID='" + zgId + "'";
proxy.Clear();
string ret = proxy.ExecuteScalar(mysql);
if (!string.IsNullOrEmpty(ret) && int.Parse(ret) > 0)
{
MessageBox.Show("该职工在该医疗组里已经存在!", MsgTitle.Prompt);
this.RetrieveData(m_RetrieveParam);
return;
}
else
{
proxy.AddDataWindow(this.dwYlxXx);
proxy.Update();
this.RetrieveData(m_RetrieveParam);
}
}
catch (Exception ex)
{
MessageBox.Show("检查药品是否有未作废的别名时发生异常:" + ex.Message, MsgTitle.Error);
return;
}
}
else
{
dwYlxXx.DeleteRow(dwYlxXx.CurrentRow);
}
}
catch (Exception ex)
{
MessageBox.Show("取职工信息发生异常:" + ex.Message, MsgTitle.Error);
}
finally
{
if (fSelect2 != null)
fSelect2.Dispose();
}
}
//删除
private void btnStop_Click(object sender, EventArgs e)
{
DbProxyClient proxy = App.DbProxy;
if (dwYlxXx.CurrentRow > 0)
{
//停用的记录如果是新增的,直接删除
RowStatus status = dwYlxXx.GetRowStatus(dwYlxXx.CurrentRow, DataBuffer.Primary);
if (status == RowStatus.New || status == RowStatus.NewAndModified)
{
dwYlxXx.DeleteRow(dwYlxXx.CurrentRow);
return;
}
DialogResult result = MessageBox.Show(this, "您确定要删除吗?", MsgTitle.Prompt, MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
dwYlxXx.DeleteRow(dwYlxXx.CurrentRow);
proxy.AddDataWindow(this.dwYlxXx);
proxy.Update();
this.RetrieveData(m_RetrieveParam);
}
}
else
{
MessageBox.Show("请选择需要删除的用户再单击删除按钮!", MsgTitle.Prompt);
}
}
//关闭
private void btnClose_Click(object sender, EventArgs e)
{
this.ParentForm.Close();
}
//刷新
private void btnRefresh_Click(object sender, EventArgs e)
{
this.RetrieveData(m_RetrieveParam);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -