티스토리 뷰
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:로 오기때문에 중간에 있는
그리드에 값 추가하는 부분을 패스하게 된다.
'Programming > .Net' 카테고리의 다른 글
[C#] 파일 비교 프로그램 Ver 1.0 (0) | 2013.05.20 |
---|---|
빌드시 Invalid value for 'OSVersion'. 오류 해결방법 (0) | 2013.04.02 |
C#에서 이벤트 순서(그리드 : Click Event 와 EnterCell Event) (0) | 2013.01.22 |
AutoShutDown V0.5 (0) | 2013.01.03 |
암호화(MD5, SHA256, SHA512, SHA384) (0) | 2012.09.11 |