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

📄 ucdictcwwh.cs

📁 基于C/S的医疗卫生管理系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
        #region 检索数据
        private void RetrieveData(string bqId)
        {
            try
            {
                DbProxyClient proxy = App.DbProxy;
                proxy.Clear();
                proxy.AddRetrieveParam("p_bqid", bqId);
                proxy.Retrieve(this.dwCwXx);

                DataWindowChild dwc = dwCwXx.GetChild("bqid");
                proxy.Clear();
                proxy.Retrieve(dwc);
                ////+++房间ID下拉
                DataWindowChild dwcfjmc = dwCwXx.GetChild("fjid");
                proxy.Clear();
                proxy.AddRetrieveParam("p_bqid", bqId);
                proxy.Retrieve(dwcfjmc);
                //---
                DataWindowChild dwcCwLx = dwCwXx.GetChild("cwlx");
                proxy.Clear();
                proxy.AddRetrieveParam("p_flid",GyDmDefine.DMFL_CWLX);
                proxy.Retrieve(dwcCwLx);

                dwCwXx.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show("检索数据出错:" + ex.Message, MsgTitle.Error);
            }
            finally
            {
                this.m_IsModified = false;
                btnSave.Enabled = false;
            }

        }

        //修改提示
        private DialogResult needSave()
        {
            DialogResult result = DialogResult.No;
            if (this.m_IsModified)
            {
                result = MessageBox.Show(this, "数据已修改,是否需要保存?", MsgTitle.Prompt, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            }
            return result;
        }

        private void btnRefresh_Click(object sender, EventArgs e)
        {
            if (needSave() == DialogResult.Yes)
                return;

            this.RetrieveData(m_RetrieveParam);
        }
        #endregion

        private void btnModify_Click(object sender, EventArgs e)
        {
            try
            {
                dwCwXx.SetProperty("DataWindow.ReadOnly", "No");
            }
            catch (Exception ex)
            {
                MessageBox.Show("设置数据窗口只读属性发生异常:" + ex.Message);
                return;
            }

            this.btnAdd.Enabled = true;
            this.btnStop.Enabled = true;
        }

        private void dwCwXx_EditChanged(object sender, EditChangedEventArgs e)
        {
            if (!this.m_IsModified)
            {
                this.m_IsModified = true;
                this.btnSave.Enabled = true;
            }
        }
        private int findCwh(string cwh, int editRow)
        {
            int findRow = dwCwXx.FindRow("cwh='" + cwh + "'", 1, this.dwCwXx.RowCount);
            if(findRow== editRow)
            {
                if(editRow<dwCwXx.RowCount)
                {
                    findRow = dwCwXx.FindRow("cwh='" + cwh + "'", editRow + 1, this.dwCwXx.RowCount);
                }
            }
            return findRow;

        }

        private void dwCwXx_ItemChanged(object sender, Sybase.DataWindow.ItemChangedEventArgs e)
        {
            switch (e.ColumnName)
            {
                case "cwh":
                    if (e.Data == null || e.Data == "")
                    {
                        MessageBox.Show("床位号不允许为空,请输入!");
                        e.Action = ItemChangedAction.Reject;
                    }
                    else
                    {
                        //检查是否存在重复床位号
                        try
                        {
                            if(this.findCwh(e.Data, e.RowNumber)>0)
                            {
                                MessageBox.Show("床位号已存在,不允许重复!", MsgTitle.Prompt);
                                e.Action = ItemChangedAction.RejectAndAllowFocusChange;
                            }                            
                        }
                        catch(Exception ex)
                        {
                            MessageBox.Show("重复床位号是否已存在是发生异常:" + ex.Message, MsgTitle.Error);
                            e.Action = ItemChangedAction.Reject;
                        }
                       

                    }
                    break;
                //case "fjid":
                //        if (e.Data == null || e.Data.Trim() == "")
                //        {
                //            dwCwXx.SetItemNull(e.RowNumber, "fjid");
                //            return;
                //        }

                //        FSelect fSelect = null;
                //        try
                //        {
                //            if (dwCwXx.IsItemNull(e.RowNumber,"bqid"))
                //            {
                //                MessageBox.Show("??",MsgTitle.Warning);
                //                e.Action = ItemChangedAction.Reject;
                //                dwCwXx.SetItemNull(e.RowNumber,"fjid");
                //                return;
                //            }
                //            string bqId = dwCwXx.GetItemString(e.RowNumber,"bqid");
                //            fSelect = new FSelect();
                //            fSelect.SetTitle("房间信息");
                //            string sql = "SELECT A.FJID,A.FJMC FROM GY_FJXX A WHERE A.BQID='"+bqId+"' AND A.FJID LIKE '" + e.Data + "%'";
                //            fSelect.SetDataSource(sql, true);
                //            fSelect.AddShowColumn("FJID", "房间ID号", 300);
                //            fSelect.AddShowColumn("FJMC", "房间名称", 500);
                //            fSelect.AddMultiReturnColumn("FJID");

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

                //                //房间ID
                //                dwCwXx.SetItemString(e.RowNumber, "fjid", retValue[0]);
                //                e.Action = ItemChangedAction.RejectAndAllowFocusChange;
                //            }
                //            else
                //            {
                //                e.Action = ItemChangedAction.Reject;
                //                dwCwXx.SetItemNull(e.RowNumber, "fjid");
                //            }
                //        }
                //        catch (Exception ex)
                //        {
                //            MessageBox.Show("取房间信息发生异常:" + ex.Message, MsgTitle.Error);
                //            e.Action = ItemChangedAction.Reject;
                //        }
                //        finally
                //        {
                //            if (fSelect != null)
                //                fSelect.Dispose();
                //        }
                    
                //    break;
                case "zgxm":
                    if (e.Data == null || e.Data.Trim() == "")
                    {
                        dwCwXx.SetItemNull(e.RowNumber, "zzysid");
                        return;
                    }

                    FSelect fSelect2 = null;
                    try
                    {
                        fSelect2 = new FSelect();
                        fSelect2.SetTitle("职工信息");
                        string sql = "SELECT A.GH,A.ZGXM,B.KSMC,A.ZGID FROM GY_ZGXX A,GY_KSXX B WHERE A.SZKSID = B.KSID(+) AND A.ZT='0' AND (A.GH LIKE '" + e.Data + "%' OR A."+App.mrSrm +" LIKE '"+e.Data+"%')";
                        fSelect2.SetDataSource(sql, true);
                        fSelect2.AddShowColumn("GH", "工号", 200);
                        fSelect2.AddShowColumn("ZGXM", "姓名", 400);
                        fSelect2.AddShowColumn("KSMC", "科室名称", 400);
                        fSelect2.AddMultiReturnColumn("ZGID,ZGXM");

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

                            //主治医师ID
                            dwCwXx.SetItemString(e.RowNumber, "zzysid", retValue[0]);
                            e.Action = ItemChangedAction.RejectAndAllowFocusChange;
                            //主治医师名称
                            dwCwXx.SetItemString(e.RowNumber, "zgxm", retValue[1]);
                        }
                        else
                        {
                            e.Action = ItemChangedAction.Reject;
                            dwCwXx.SetItemNull(e.RowNumber, "zzysid");
                            dwCwXx.SetItemNull(e.RowNumber, "zgxm");
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("取职工信息发生异常:" + ex.Message, MsgTitle.Error);
                        e.Action = ItemChangedAction.Reject;
                        dwCwXx.SetItemNull(e.RowNumber, "zzysid");
                        dwCwXx.SetItemNull(e.RowNumber, "zgxm");
                    }
                    finally
                    {
                        if (fSelect2 != null)
                            fSelect2.Dispose();
                    }

                    break;
            }
        }

        private void dwCwXx_Click(object sender, EventArgs e)
        {
            if (this.btnAdd.Enabled && dwCwXx.ObjectUnderMouse.Band.Type == BandType.Detail)
            {
                if (dwCwXx.ObjectUnderMouse.Gob.Name == "cwlx"||dwCwXx.ObjectUnderMouse.Gob.Name=="fjid")
                {
                    if (!this.m_IsModified)
                    {
                        this.m_IsModified = true;
                        this.btnSave.Enabled = true;
                    }
                }
            }
        }

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

        private void btnSave_Click(object sender, EventArgs e)
        {
            dwCwXx.AcceptText();

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


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

        }
    }
}

⌨️ 快捷键说明

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