티스토리 뷰

Programming/.Net

[C#]goto문 사용법

Rusi(루시) 2013. 2. 5. 16:59
반응형

private void tbbInsert_Click(object sender, RoutedEventArgs e)

        {

            for (int i = 0; i < dt_PersonList.Rows.Count; i++)

            {   

                string strTempSite = dt_PersonList.Rows[i]["CD_SITE"].ToString();

                for (int j = 0; j < GrdData_d.Rows.Count; j++)

                {

                    if (GrdData_d[j, (int)GridCol_d.CD_SITE].ToString() == strTempSite)

                    {   

                        goto Escape;

                    }

                }


                //그리드의 row를 만들기 위에 각 cell을 정의 하고 병합한다.

                object[] items = new object[2];


                items[(int)GridCol_d.Flag] = "I";

                items[(int)GridCol_d.RM_NOTE] = "";   //비고



                //첨부시키는 파일 갯수만큼 로우를 첨부한다.

                GrdData_d.AddItem(items);

                GrdData_d.Row = GrdData_d.Rows.Count - 1;                

                tbbSave2.IsEnabled = true;


                Escape:

                    continue;

            }            

        }



소스를 설명하자면...

다른창에서 다수의 값을 가지고 오면....

입력하기전 같은 값이 있는지 비교를 해서 있다면 

현재 Grid에 넣지 않고 패스 시키고 없는 값들만 넣기 위한 소스다


확 줄이기는 했다....

생성자들은 

dt_PersonList : DataTable

GrdData_d : FlexGrid

GridCol_d : enum

tbbSave2 : Button

요렇게다..


for문에서 검사하다가 같은 값이 있다면 goto문을 타고 지정한 Escape를 타게 된다..

그럼 함수 밑부분에 있는 Escape:로 오기때문에 중간에 있는 

그리드에 값 추가하는 부분을 패스하게 된다.

반응형
공지사항