2023.01.03(콤보박스 바인딩)

SaGo_MunGcci·2023년 1월 3일
0

업무 프로젝트

목록 보기
2/29

콤보박스 바인딩

// 2023.01.03 / 박민준 / 일반검진 서식아이템을 콤보박스에 바인딩
            #region ...
            // 일반적으로는 서비스 코드 받아와서 사용함 
            GZCDCTSCD TSCD = new GZCDCTSCD("GhsItemCd", "GhsWorkGbn");
            DataTable ghsItemCd = TSCD.Get("GhsItemCd");            

            foreach (DataRow dr in ghsItemCd.Rows)
            {
                string rowDtlCd = string.Empty;
                rowDtlCd = dr["dtlCd"].ToStringDefault();
                itemCode.Add(rowDtlCd);

                String rowKorNm = String.Empty;
                rowKorNm = dr["korNm"].ToStringDefault();
                itemNm.Add(rowKorNm);

            }

            DataTable dt = new DataTable();
            dt.Columns.Add("text");
            dt.Columns.Add("Value");
            // 2023.01.03 / 박민준 /  2번째 데이터 부터 콤보박스에 바인팅
            for (int i = 2; i < itemCode.Count; i++)
            {
                dt.Rows.Add(itemNm[i], itemCode[i]);
            }
            cmbItemCd.SetDataSource(dt, "text", "Value", AComboFirstValueType.All);
            #endregion

콤보박스의 값을 서버로 전달


        //2023.11.24 / 박민준 / 조회하는 함수 추가
        private async void RetrieveAllPkgList()
        {
            #region ...
            grdOutput.DataSource = null;
            grdvOutput.ClearSorting();

            // 조회기간은 FRST_ENTR_DTM(최초입력일시)
            Dictionary<string, string> map = new Dictionary<string, string>();

            map["patno"] = txtPatno.EditValue.ToString();
            map["heFormDivCd"] = cmbItemCd.EditValue.ToStringDefault();
            map["stdt"] = srchPeriod.FromDateTime.ToString("yyyyMMdd");
            map["ltdt"] = srchPeriod.ToDateTime.ToString("yyyyMMdd");

            AmcData rqAD = new AmcData { recordSets = new RecordSets { { "IVRqst", map.ToHeKeyValueVoList().ToRecordSet<HeKeyValueVO>() } } };
            AmcData rsAD = await CommService.CallServiceAsync("SHMGR1013R", rqAD, this.screenMainPanel, LoadingType.BlockSearch);

            DataTable dtPkgList = rsAD.recordSets["IVResList"].ToDataTable(true);


            if (dtPkgList != null && dtPkgList.Rows.Count > 0)
            {
                DisplayFormItemData(dtPkgList);
            }
            else
            {
                AMessageBox.ShowInstant(this, "접수 데이터가 없습니다.", false, 2);
                return;
            }

            grdOutput.DataSource = dtPkgList;
            #endregion

        }

        //2022.12.28 / 박민준 / 건강건진서식 구분코드 데이터를 조회하여 각 컨드롤에 바인딩
        private void DisplayFormItemData(DataTable itemDt)
        {
            #region ...
            if (itemDt != null)
            {
                int sqnc = 0;

                foreach (DataRow dr in itemDt.Rows)
                {

                    for (int i = 0; i < itemCode.Count; i++)
                    {
                        if (itemCode[i].ToStringDefault().Equals(dr["heFormDivCd"].ToStringDefault()))
                        {
                            sqnc = i;
                            dr["heFormDivCd"] = itemNm[sqnc].ToStringDefault();
                            break;
                        }
                    }

                    // 상단의사 선생님 정보받는 곳 CSDR_LICNS_NO
                    UserInfo = SecurityWrapper.Instance.SecurityService.GetUserInfo(this);
                    if (!dr["csdrLicnsNo"].ToStringDefault().Equals(null) && !dr["csdrLicnsNo"].ToStringDefault().Equals(""))
                    {
                        GetDoctorInFormationFromDoctorLicnsNo cs = new GetDoctorInFormationFromDoctorLicnsNo(dr["csdrLicnsNo"].ToStringDefault());
                        if (cs != null)
                        {
                            String doclicnsNo = cs.GetLicnsNo();       // 의사면허번호
                            String doctorId = cs.GetDoctorId();        // 의사아이디
                            String doctorNm = cs.GetDoctorNm();        // 의사명

                            dr["csdrLicnsNo"] = doctorNm;
                        }
                    }
                    else
                    {
                        dr["csdrLicnsNo"] = "";
                    }

                    // 판정의사 선생님 정보받는 곳 JUDG_DR_LCNS_NO
                    UserInfo = SecurityWrapper.Instance.SecurityService.GetUserInfo(this);
                    GetDoctorInFormationFromDoctorLicnsNo pj = new GetDoctorInFormationFromDoctorLicnsNo(dr["judgDrLcnsNo"].ToStringDefault());
                    if (pj != null)
                    {
                        String doclicnsNo = pj.GetLicnsNo();       // 의사면허번호
                        String doctorId = pj.GetDoctorId();        // 의사아이디
                        String doctorNm = pj.GetDoctorNm();        // 의사명

                        dr["judgDrLcnsNo"] = doctorNm;
                    }
                }
            }
            #endregion
        }

profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글