//별도 UltraGrid내 LemControl 사용하는 프레임워크라.. Lem~~ 로시작하는건 지우고 알아서 바꾸면 됩니다.
//UltraGrid Filter Sort
//자체적으로 지원하는 필터, 정렬를 적용후 그값 가져오기.
//UltraGrid.Rows[X].VisibleIndex 값이 -1이아니면 필터에서 보여주는 순서 (이것찾는데 하루 보냈음 - -) IsFilterRow에 사기당함 ㅋㅋ
//필터적용.
//this.dgList1.LemBand.Layout.Override.AllowRowFiltering = DefaultableBoolean.True;
//원본데이터 구조 복사
DataTable dtRef = this.dgList1.LemDataSource.Clone();
//그리드에서 자체적으로 만든 "번호"컬럼은 제외하고 넘기기.
//오류발생으로 참거짓 처리값 밖으로 변경후 삭제
bool isRemovingCol = false;
foreach (DataColumn dc in dtRef.Columns)
{
if ("번호".Equals(dc.ColumnName))
{
isRemovingCol = true;
break;
}
}
//번호컬럼 삭제
if (isRemovingCol) dtRef.Columns.Remove("번호");
//필터링이 안되어있는지 확인값 (총갯수 == 필터링갯수)
bool isNoneFiltering = (this.dgList1.LemGrid.Rows.Count == this.dgList1.LemGrid.Rows.FilteredInRowCount);
for (int i = 0; i < this.dgList1.LemGrid.Rows.Count; i++)
{
if (isNoneFiltering)
{
//데이터 소스로 들어가면 정렬안된값이 들어가므로 다시 넣어줌.
dtRef.Rows.Add(this.dgList1.LemGetColumnColection(i));
}
else
{
//필터링되어 보여질 인덱스 0이상, 없으면 -1
if (this.dgList1.LemGrid.Rows[i].VisibleIndex >= 0)
{
dtRef.Rows.Add(this.dgList1.LemGetColumnColection(i));
}
}
}