private void cbxCategory2_SelectedIndexChanged(object sender, EventArgs e) { cbxCategory3.Items.Clear(); category3List.Clear(); if (cbxCategory2.SelectedItem.ToString() == "전체") { cbxCategory3.Items.Add("전체"); return; } string queryString1 = string.Empty; string queryString2 = string.Empty; foreach (JsonCodes item in categoryList) { if ((cbxCategory1.SelectedItem).ToString() == item.Name) { queryString1 = item.Code; break; } } foreach (JsonCodes item in category2List) { if ((cbxCategory2.SelectedItem).ToString() == item.Name) { queryString2 = item.Code; break; } } JsonCodes temp; JObject obj = JObject.Parse(GetJson("categoryCode", "&cat1=" + queryString1 + "&cat2=" + queryString2, 20)); obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").Type.ToString(); if (obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").Type == JTokenType.Array) { JArray arr = JArray.Parse(obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").ToString()); foreach (JObject item in arr) { cbxCategory3.Items.Add(item["name"].ToString()); temp = new JsonCodes(); temp.Code = Convert.ToString(item["code"]); temp.Name = Convert.ToString(item["name"]); temp.Rname = Convert.ToInt32(item["rname"]); category3List.Add(temp); } } else { temp = new JsonCodes(); cbxCategory3.Items.Add(obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").SelectToken("name").ToString()); temp.Code = obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").SelectToken("code").ToString(); temp.Name = obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").SelectToken("name").ToString(); temp.Rname = Convert.ToInt32(obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").SelectToken("rname")); category3List.Add(temp); } }
/// <summary> /// 하위콤보박스에 동적으로 아이템을 생성해주는 메서드 /// </summary> /// <param name="requestMsg">응답메세지</param> /// <param name="operationName">오퍼레이션 명</param> /// <param name="parentCbx">상위 콤보박스</param> /// <param name="childCbx">하위 콤보박스</param> /// <param name="list">상위 콤보박스의 list of JsonCodes</param> /// <returns>다음 분류의 객체를 저장하기위한 List를 return</returns> private List <JsonCodes> FindNextTokens(string requestMsg, string operationName, ComboBox parentCbx, ComboBox childCbx, List <JsonCodes> list) { pageNo = 1; childCbx.Items.Clear(); if (parentCbx.SelectedItem.ToString() == "전체") { childCbx.Items.Add("전체"); return(null); } List <JsonCodes> jsonList = new List <JsonCodes>(); jsonList.Clear(); JsonCodes temp; requestMsg = requestMsg.Insert(0, "&").Insert(requestMsg.Length + 1, "="); string queryString = string.Empty; foreach (JsonCodes lstitem in list) { if ((parentCbx.SelectedItem).ToString().Trim().Replace(" ", "") == lstitem.Name) { queryString = lstitem.Code; break; } } JObject obj = JObject.Parse(GetJson(operationName, requestMsg + queryString, 20)); if (obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").Type == JTokenType.Array) { JArray arr = JArray.Parse(obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").ToString()); foreach (JObject item in arr) { childCbx.Items.Add(item["name"].ToString()); temp = new JsonCodes(); temp.Code = Convert.ToString(item["code"]); temp.Name = Convert.ToString(item["name"]); temp.Rname = Convert.ToInt32(item["rname"]); jsonList.Add(temp); } } else { childCbx.Items.Add(obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").SelectToken("name").ToString()); temp = new JsonCodes(); temp.Code = obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").SelectToken("code").ToString(); temp.Name = obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").SelectToken("name").ToString(); temp.Rname = Convert.ToInt32(obj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").SelectToken("rname")); jsonList.Add(temp); } return(jsonList); }
private void DisplayComboBx(string operationName, List <JsonCodes> jsonlist, ComboBox cbx) { JObject jobj = JObject.Parse(GetJson(operationName, string.Empty, 20)); JArray jarr = JArray.Parse(jobj.SelectToken("response").SelectToken("body").SelectToken("items").SelectToken("item").ToString()); cbx.Items.Add("전체"); foreach (JObject item in jarr) { code = new JsonCodes { Code = Convert.ToString(item["code"]), //코드 Name = Convert.ToString(item["name"]), //코드명 Rname = Convert.ToInt32(item["rnum"]) //일련번호 }; cbx.Items.Add(code.Name); jsonlist.Add(code); } }