⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udictxybrwh.cs

📁 基于C/S的医疗卫生管理系统
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using Sybase.DataWindow;

using Qeb.Control;
using Qeb.Support;
using Qeb.Support.Common;
using Qeb.DBProxy;

namespace Qeb.GY
{
    public partial class UDictXyBrWh : Qeb.GY.UCDictBase
    {
        public UDictXyBrWh()
        {
            InitializeComponent();
        }

        private void UDictXyBrWh_Load(object sender, EventArgs e)
        {
            this.dwXyBr.LibraryList = PBL.GyPbl;
            this.dwXyBr.DataWindowObject = GyDataObjects.D_Gy_XyBrXx;
            this.dwXyBr.InitUI();

            try
            {
                dwXyBr.SetProperty("DataWindow.ReadOnly", "Yes");
            }
            catch (Exception ex)
            {
                MessageBox.Show("设置数据窗口只读属性发生异常:" + ex.Message);
            }
            this.RetrieveData();

        }
        //检索数据
        private void RetrieveData()
        {
            try
            {
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.Retrieve(this.dwXyBr);

            }
            catch (Exception ex)
            {
                MessageBox.Show("检索数据发生异常:" + ex.Message, MsgTitle.Error);
            }
            finally
            {
                this.m_IsModified = false;
                this.btnSave.Enabled = false;

            }

        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            int rowIndex = dwXyBr.InsertRow(0);
            dwXyBr.SetRow(rowIndex);
            dwXyBr.ScrollToRow(rowIndex);
            dwXyBr.Focus();
            dwXyBr.SetColumn("xybrid");
        }

        private void btnStop_Click(object sender, EventArgs e)
        {
            if (dwXyBr.CurrentRow > 0)
            {
                //停用的记录如果是新增的,直接删除
                RowStatus status = dwXyBr.GetRowStatus(dwXyBr.CurrentRow, DataBuffer.Primary);
                if (status == RowStatus.New || status == RowStatus.NewAndModified)
                {
                    dwXyBr.DeleteRow(dwXyBr.CurrentRow);
                    return;
                }

                //工号
                string XyBrId = "";
                if (!dwXyBr.IsItemNull(dwXyBr.CurrentRow, "xybrid"))
                {
                    XyBrId = dwXyBr.GetItemString(dwXyBr.CurrentRow, "xybrid");
                }

                //用户名称
                string BrXm = "";
                if (!dwXyBr.IsItemNull(dwXyBr.CurrentRow, "brxm"))
                {
                    BrXm = dwXyBr.GetItemString(dwXyBr.CurrentRow, "brxm");
                }
                DialogResult result = MessageBox.Show(this, "协议病人ID为【" + XyBrId + "】病人姓名为【" + BrXm + "】的帐号只能停用,不能删除,您确定要停用吗?", MsgTitle.Prompt, MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    dwXyBr.SetItemDecimal(dwXyBr.CurrentRow, "xfbz", 1);
                    this.m_IsModified = true;
                    this.btnSave.Enabled = true;
                }
            }
            else
            {
                MessageBox.Show("请选择需要删除的病人再单击删除按钮!", MsgTitle.Prompt);
            }
        }

        private void btnModify_Click(object sender, EventArgs e)
        {
            try
            {
                dwXyBr.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 (!dwXyBr.AcceptText())
                return;

            //检验数据完整性
            if (!this.CheckYhXx())
                return;


            try
            {
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.AddDataWindow(this.dwXyBr);
                proxy.Update();
                this.m_IsModified = false;
                btnSave.Enabled = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show("保存协议病人信息发生异常:" + ex.Message, MsgTitle.Error);
            }
        }

        private bool CheckYhXx()
        {
            string colName = "";
            string errorMsg = "";
            int rowNum = 0;
            int rowCount = 0;

            DataBuffer buffer = DataBuffer.Primary;

        find:
            if (buffer == DataBuffer.Primary)
                rowCount = dwXyBr.RowCount;
            else
                rowCount = dwXyBr.FilteredCount;

            rowNum = 0;
            do
            {

                rowNum = dwXyBr.FindNextModifiedRow(rowNum, buffer);
                if (rowNum > 0)
                {
                    colName = "XyBrId";
                    if (this.dwXyBr.IsItemNull(rowNum, colName))
                    {
                        errorMsg = "协议病人ID";
                        goto Error;
                        //break;
                    }

                    colName = "BrXm";
                    if (this.dwXyBr.IsItemNull(rowNum, colName))
                    {
                        errorMsg = "病人姓名";
                        goto Error;
                        //break;
                    }

                    colName = "DwId";
                    if (this.dwXyBr.IsItemNull(rowNum, colName))
                    {
                        errorMsg = "单位ID";
                        goto Error;
                        //break;
                    }

                    colName = "DwMc";
                    if (this.dwXyBr.IsItemNull(rowNum, colName))
                    {
                        errorMsg = "单位名称";
                        goto Error;
                        //break;
                    }

                    colName = "CsRq";
                    if (this.dwXyBr.IsItemNull(rowNum, colName))
                    {
                        errorMsg = "出生日期";
                        goto Error;
                        //break;
                    }

                    colName = "Xb";
                    if (this.dwXyBr.IsItemNull(rowNum, colName))
                    {
                        errorMsg = "性别";
                        goto Error;
                        //break;
                    }

                    colName = "LxDh";
                    if (this.dwXyBr.IsItemNull(rowNum, colName))
                    {
                        errorMsg = "联系电话";
                        goto Error;
                        //break;
                    }
                }
                else
                {
                    rowNum = rowCount;
                }
            }
            while (rowNum < rowCount);
            //处理过滤缓冲区
            if (buffer == DataBuffer.Primary && dwXyBr.FilteredCount > 0)
            {
                buffer = DataBuffer.Filter;
                goto find;
            }


        Error:
            if (errorMsg != "")
            {
                if (buffer == DataBuffer.Filter)
                {
                    MessageBox.Show("数据输入不完整," + errorMsg + "没有输入,该记录已被过滤,重新设置过滤条件后可显示!", MsgTitle.Warning);
                }
                else
                {
                    MessageBox.Show("数据输入不完整,第" + rowNum.ToString() + "行" + errorMsg + "没有输入!", MsgTitle.Warning);
                    this.dwXyBr.ScrollToRow(rowNum);
                    this.dwXyBr.Focus();
                    this.dwXyBr.SetRow(rowNum);
                    this.dwXyBr.SetColumn(colName);
                }
                return false;
            }

            return true;
        }

        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 btnClose_Click(object sender, EventArgs e)
        {
            this.ParentForm.Close();
        }

        private void dwXyBr_Click(object sender, EventArgs e)
        {
            if (this.btnAdd.Enabled && dwXyBr.ObjectUnderMouse.Band.Type == BandType.Detail)
            {
                if (dwXyBr.ObjectUnderMouse.Gob.Name == "xfbz")
                {
                    if (!this.m_IsModified)
                    {
                        this.m_IsModified = true;
                        this.btnSave.Enabled = true;
                    }
                }
            }
        }

        private void dwXyBr_ItemError(object sender, ItemErrorEventArgs e)
        {
            e.Action = ItemErrorAction.RejectWithNoMessage;
        }

        private void dwXyBr_EditChanged(object sender, EditChangedEventArgs e)
        {
            if (!this.m_IsModified)
            {
                this.m_IsModified = true;
                this.btnSave.Enabled = true;
            }
        }

        private void dwXyBr_ItemChanged(object sender, Sybase.DataWindow.ItemChangedEventArgs e)
        
        {

            if (e.ColumnName == "dwmc")
            {
                if (e.Data == null || e.Data.Trim() == "")
                {
                    dwXyBr.SetItemNull(e.RowNumber, "dwmc");
                    dwXyBr.SetItemNull(e.RowNumber, "dwid");
                    return;
                }
                FSelect fSelect = null;
                try
                {
                    fSelect = new FSelect();
                    fSelect.SetTitle("单位信息");
                    string sql = "SELECT DWMC,DWBH,DWID FROM GY_DWXX WHERE " + App.mrSrm + " LIKE '" + e.Data + "%'";
                    fSelect.SetDataSource(sql, true);
                    fSelect.AddShowColumn("DWBH", "单位编号", 200);
                    fSelect.AddShowColumn("DWMC", "单位名称", 1000);
                    fSelect.AddMultiReturnColumn("DWID,DWMC");

                    DialogResult dResult = fSelect.ShowDialog(this);
                    if (dResult == DialogResult.OK)
                    {
                        string[] retValue = fSelect.ReturnValue;

                        //单位ID
                        dwXyBr.SetItemString(e.RowNumber, "dwid", retValue[0]);
                        e.Action = ItemChangedAction.RejectAndAllowFocusChange;
                        //单位名称
                        dwXyBr.SetItemString(e.RowNumber, "dwmc", retValue[1]);
                    }
                    else
                    {
                        e.Action = ItemChangedAction.Reject;
                        dwXyBr.SetItemNull(e.RowNumber, "dwid");
                        dwXyBr.SetItemNull(e.RowNumber, "dwmc");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("取单位信息发生异常:" + ex.Message, MsgTitle.Error);
                    e.Action = ItemChangedAction.Reject;
                    dwXyBr.SetItemNull(e.RowNumber, "dwid");
                    dwXyBr.SetItemNull(e.RowNumber, "dwmc");
                }
                finally
                {
                    if (fSelect != null)
                        fSelect.Dispose();
                }

            }
         }

        #region 在数据窗口中查找记录
        public override void FindInDw(string value)
        {
            if (value == null)
                value = "";

            int findRow = dwXyBr.FindRow("xybrid='" + value + "' or brxm='" + value + "'", 1, dwXyBr.RowCount);
            if (findRow > 0)
            {
                dwXyBr.ScrollToRow(findRow);
                dwXyBr.SetRow(findRow);
            }
        }
        #endregion



    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -