XML과 DataGridView에서 데이터 취득하여 중복검사해보자
// 기존 파일에서 ID를 취득하여 등록하고자 하는 Alarm내에 중복된 ID가 있는지 확인
private bool IsAlarmID_Overlap_onXml()
{
// row 개수를 읽어온다. 전체 개수 - 1 = 실제 개수
int nMaxRow = dgv_Register.Rows.Count - 1;
int[] nAppend = new int[nMaxRow];
// 정보를 취득하여 xml 파일에 저장한다.
for (int i = 0; i < nMaxRow; i++)
nAppend[i] = Convert.ToInt32(dgv_Register.Rows[i].Cells[ID].Value);
// Table 하위 항목 내에서 동일 ID를 찾아 신규 등록하고자 하는 ID와 비교한다.
var result =
from el in _xmlAlarmTable.Elements(_szTable)
from id in nAppend
where (int)el.Element(_cXml.szRegFd[ID]) == id
select id;
// xml 파일의 ID와 중복된 것의 합.
int nOverlapCnt = result.Count<int>();
StringBuilder szbTemp = new StringBuilder(1024);
// 중복된 것이 발견되면, 그 정보를 출력한다.
if (nOverlapCnt != 0)
{
foreach (int id in nAppend)
{
szbTemp.Append("[" + id + "],");
}
MessageBox.Show(_szXmlPath + " File & Registered Alarm Data Overlap!"
+ "\r\nOverlap Count : " + nOverlapCnt
+ "\r\nOverlap ID : " + szbTemp);
return true;
}
return false;
}
'프로그래밍 > .Net' 카테고리의 다른 글
C# 가변인자 만들어 넣기 (0) | 2014.01.17 |
---|---|
문자열중 숫자 가려내기 (0) | 2014.01.17 |
Savefiledialog 구현하기 (0) | 2014.01.17 |
datagridview에서 keydown 처리 (0) | 2014.01.17 |
캐스팅 (string) ToString() Convert.ToString 차이점 (0) | 2014.01.17 |