📄 ucdictylzwh.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 UCDictYlzWh : Qeb.GY.UCDictBase
{
public UCDictYlzWh()
{
InitializeComponent();
}
private void UCDictYlzWh_Load(object sender, EventArgs e)
{
this.LookUpPromptText = "请输入医疗组ID或医疗组名称";
//初始化数据窗口
this.dwYlzXx.LibraryList = PBL.GyPbl;
this.dwYlzXx.DataWindowObject = GyDataObjects.D_Gy_YlzXxWh;
this.dwYlzXx.InitUI();
try
{
dwYlzXx.SetProperty("DataWindow.ReadOnly", "Yes");
}
catch (Exception ex)
{
MessageBox.Show("设置数据窗口只读属性发生异常:" + ex.Message);
}
try
{
DataWindowChild dwBq = dwYlzXx.GetChild("ssbqid");
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.Retrieve(dwBq);
dwYlzXx.Refresh();
}
catch (Exception ex)
{
MessageBox.Show("处理子数据窗口发生异常:" + ex.Message);
}
this.RetrieveData();
}
#region 根据医疗组ID、名称查找记录
public override void FindInDw(string value)
{
if (value == null)
value = "";
int findRow = dwYlzXx.FindRow("YlzId='" + value + "' or YlzMc='" + value + "'", 1, dwYlzXx.RowCount);
if (findRow > 0)
{
dwYlzXx.ScrollToRow(findRow);
dwYlzXx.SetRow(findRow);
}
}
#endregion
private void RetrieveData()
{
try
{
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.Retrieve(this.dwYlzXx);
}
catch (Exception ex)
{
MessageBox.Show("检索数据出错:" + ex.Message, MsgTitle.Error);
}
finally
{
this.m_IsModified = false;
btnSave.Enabled = false;
}
try
{
DataWindowChild dwBq = dwYlzXx.GetChild("ssbqid");
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.Retrieve(dwBq);
}
catch (Exception ex)
{
MessageBox.Show("处理子数据窗口发生异常:" + ex.Message);
}
dwYlzXx.Refresh();
}
private void btnAdd_Click(object sender, EventArgs e)
{
int rowIndex = dwYlzXx.InsertRow(0);
dwYlzXx.SetRow(rowIndex);
dwYlzXx.ScrollToRow(rowIndex);
dwYlzXx.Focus();
dwYlzXx.SetColumn("ylzid");
try
{
DataWindowChild dwBq = dwYlzXx.GetChild("ssbqid");
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.Retrieve(dwBq);
dwYlzXx.Refresh();
}
catch (Exception ex)
{
MessageBox.Show("处理子数据窗口发生异常:" + ex.Message);
}
}
private void btnStop_Click(object sender, EventArgs e)
{
if ( dwYlzXx.CurrentRow > 0)
{
DbProxyClient proxy = App.DbProxy;
//停用的记录如果是新增的,直接删除
RowStatus status = dwYlzXx.GetRowStatus(dwYlzXx.CurrentRow, DataBuffer.Primary);
if (status == RowStatus.New || status == RowStatus.NewAndModified)
{
dwYlzXx.DeleteRow(dwYlzXx.CurrentRow);
return;
}
//医疗组ID
string YlzId = "";
if (!dwYlzXx.IsItemNull(dwYlzXx.CurrentRow, "ylzid"))
{
YlzId = dwYlzXx.GetItemString(dwYlzXx.CurrentRow, "ylzid");
}
//医疗组名称
string YlzMc = "";
if (!dwYlzXx.IsItemNull(dwYlzXx.CurrentRow, "ylzmc"))
{
YlzMc = dwYlzXx.GetItemString(dwYlzXx.CurrentRow, "ylzmc");
}
//检查是否有职工属于该医疗组
string sql = "SELECT COUNT(*) FROM GY_YLZCY WHERE YLZID='" + YlzId + "'";
proxy.Clear();
string ret = proxy.ExecuteScalar(sql);
if (!string.IsNullOrEmpty(ret) && int.Parse(ret) > 0)
{
DialogResult result = MessageBox.Show(this, "该医疗组有职工,不能删除只能停用,您确定要停用吗?", MsgTitle.Prompt, MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.OK)
{
dwYlzXx.SetItemDecimal(dwYlzXx.CurrentRow, "Zfbz", 1);
this.m_IsModified = true;
this.btnSave.Enabled = true;
}
}
else
{
dwYlzXx.DeleteRow(dwYlzXx.CurrentRow);
this.m_IsModified = true;
this.btnSave.Enabled = true;
}
}
else
{
MessageBox.Show("请选择需要删除的医疗组再单击删除按钮!", MsgTitle.Prompt);
}
}
private void btnModify_Click(object sender, EventArgs e)
{
try
{
dwYlzXx.SetProperty("DataWindow.ReadOnly", "No");
}
catch (Exception ex)
{
MessageBox.Show("设置数据窗口只读属性发生异常:" + ex.Message);
return;
}
this.btnAdd.Enabled = true;
this.btnStop.Enabled = true;
}
private void btnSave_Click(object sender, EventArgs e)
{
if (!dwYlzXx.AcceptText())
return;
try
{
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.AddDataWindow(this.dwYlzXx);
proxy.Update();
MessageBox.Show("信息保存成功!");
this.m_IsModified = false;
btnSave.Enabled = false;
}
catch (Exception ex)
{
MessageBox.Show("保存医疗组信息发生异常:" + ex.Message, MsgTitle.Error);
}
}
private void btnRefresh_Click(object sender, EventArgs e)
{
if (this.m_IsModified)
{
DialogResult result = MessageBox.Show(this, "数据已修改,是否需要保存?", MsgTitle.Prompt, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
return;
}
}
this.RetrieveData();
}
private void btnPrint_Click(object sender, EventArgs e)
{
}
private void btnExport_Click(object sender, EventArgs e)
{
}
private void btnClose_Click(object sender, EventArgs e)
{
this.ParentForm.Close();
}
private void dwYlzXx_ItemChanged(object sender, Sybase.DataWindow.ItemChangedEventArgs e)
{
switch (e.ColumnName)
{
case "ylzid":
if (e.Data == null || e.Data == "")
{
MessageBox.Show("医疗组ID不允许为空,请输入!");
e.Action = ItemChangedAction.Reject;
}
break;
case "ylzmc":
if (e.Data == null || e.Data == "")
{
MessageBox.Show("医疗组名称不允许为空,请输入!");
e.Action = ItemChangedAction.Reject;
}
break;
case "ylzfl":
if (e.Data == null || e.Data == "")
{
MessageBox.Show("医疗组所属分类不允许为空,请输入!");
e.Action = ItemChangedAction.Reject;
}
break;
case "ksmc":
if (e.Data == null || e.Data.Trim() == "")
{
dwYlzXx.SetItemNull(e.RowNumber, "ylzid");
return;
}
FSelect fSelect2 = null;
try
{
fSelect2 = new FSelect();
fSelect2.SetTitle("科室信息");
string sql = "SELECT * FROM GY_KSXX WHERE ZFBZ=0 AND YQID='1' AND (KSID LIKE '" + e.Data + "%' OR " + App.mrSrm + " LIKE '" + e.Data + "%')";
fSelect2.SetDataSource(sql, true);
fSelect2.AddShowColumn("KSID", "科室ID", 200);
fSelect2.AddShowColumn("KSMC", "科室名称", 400);
fSelect2.AddMultiReturnColumn("KSID,KSMC");
DialogResult dResult = fSelect2.ShowDialog(this);
if (dResult == DialogResult.OK)
{
string[] retValue = fSelect2.ReturnValue;
//科室ID
dwYlzXx.SetItemString(e.RowNumber, "ssksid", retValue[0]);
dwYlzXx.SetItemString(e.RowNumber, "ksmc", retValue[1]);
e.Action = ItemChangedAction.RejectAndAllowFocusChange;
}
else
{
e.Action = ItemChangedAction.Reject;
dwYlzXx.SetItemNull(e.RowNumber, "ssksid");
dwYlzXx.SetItemNull(e.RowNumber, "ksmc");
}
}
catch (Exception ex)
{
MessageBox.Show("取科室信息发生异常:" + ex.Message, MsgTitle.Error);
e.Action = ItemChangedAction.Reject;
dwYlzXx.SetItemNull(e.RowNumber, "ssksid");
dwYlzXx.SetItemNull(e.RowNumber, "ksmc");
}
finally
{
if (fSelect2 != null)
fSelect2.Dispose();
}
break;
}
this.m_IsModified = true;
this.btnSave.Enabled = true;
}
private void dwYlzXx_EditChanged(object sender, Sybase.DataWindow.EditChangedEventArgs e)
{
if (!this.m_IsModified)
{
this.m_IsModified = true;
this.btnSave.Enabled = true;
}
}
private void dwYlzXx_Click(object sender, EventArgs e)
{
}
private void dwYlzXx_ItemError(object sender, Sybase.DataWindow.ItemErrorEventArgs e)
{
e.Action = ItemErrorAction.RejectWithNoMessage;
}
private void dwYlzXx_ItemFocusChanged(object sender, ItemFocusChangedEventArgs e)
{
if (!dwYlzXx.CurrentEdit.Empty)
dwYlzXx.CurrentEdit.SelectText(0, 60);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -