none
c# 데이터그리드뷰 질문 RRS feed

  • 질문

  • 안녕하세요 데이터 그리드뷰 관련 질문입니다.

    구현하고자 하는 프로그램입니다.

    리스트박스1에 있는 아이템을 클릭하면 선택된 아이템이 리스트박스2로 넘어갑니다.

    리스트박스2에 있는 아이템을 클릭하면 데이터바인딩된 값들이 데이터그리드뷰에 출력됩니다.

    최종적으로 데이터그리드뷰에 있는 값들을 변경하여 버튼을 클릭하면 변경된 값들이 출력됩니다.

    여기서 질문입니다.

    리스트박스에 담겨져 있는 Item들에 담겨있는 모든 값들을 아이템 순서대로 출력하기 위한 방법이 뭐가
    있을까요?

    예를 들어 사진에서 보시는것 처럼 리스트 박스2에  1,3,4,5아이템이 있을경우(순서대로) 이 아이템의 값들을 모두
    출력 할 수 있는 방법 정말 궁금합니다.

    현재 사용하고 있는 방법은

    리스트박스의 인덱스를 이용해서 사용하고 있는데 너무 비효율적이고 한계가 있습니다.

    아이템이 하나있을 경우에는 listBox2.SelectedItem(인덱스 값)을 사용하여 값을 변경하여 간단하게 출력 할 수
    있습니다.

    ex) if(selectiem == listbox1_item[0])

    하지만 리스트 박스2에 2개이상 혹은 다수의 아이템이 있을 경우, 수 많은 if, else문을 사용해야만 합니다.  

    ex) if (lstItem[0] == list1[0] && lstItem[1] == list1[1])

    else if (lstItem[0] == list1[0] && lstItem[1] == list1[2])
    elseif
    (lstItem[0] == list1[0] && lstItem[1] == list1[3])
    elseif (lstItem[0]
    == list1[0] && lstItem[1] == list1[4])

    간단한게 조건문 없이 리스트박스2에 있는 각 아이템에 바인딩된 값들을 모두 출력할 수 있는 방법을 여쭤 보고 싶습니다.

    감사합니다.

    2015년 7월 5일 일요일 오후 2:34

모든 응답


  • 간단한게 조건문 없이 리스트박스2에 있는 각 아이템에 바인딩된 값들을 모두 출력할 수 있는 방법을 여쭤 보고 싶습니다.

    감사합니다.

    안녕하세요.

    간단하게 말해서, 표현은 다 하신것같고 문법의 문제인것 같은데

    foreach (var item in ListBox2)
    {
         item.-----
    }

    이런식으로 잡아내면 될것 같은데요??

    혹은 이런식으로

    for (int i = 0; i < ListBox1.SelectedIndices.Count; i++)
    {
        Console.WriteLine(" {0}", ListBox1.SelectedIndices[i]);
    }

    도움되시길 바랍니다.

    잘 안되면 추가질문주세요.


    프로그램 개발에는 정답이 없다.

    2015년 7월 6일 월요일 오전 6:12