콤보박스 바인딩
// 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
}