VB.NET Linq를 이용하여 DataTable에서 일치하는 항목 출력하기
2020. 4. 10. 10:27ㆍVB.NET
728x90
반응형
예를들어 위와 같은 table이 있다고 치면
AAA를 선택했을 때 AAA에 딸려있는 하위 목록들을 불러오고 싶을 때
여러가지 방법들이 있지만 Linq를 이용하여 작업을 했다.
Private Sub test()
If Not (_info_db Is Nothing) Then
'// Column1 의 AAA라는 값과 일치하면
'// AAA와 일치하는 Column2의 값들을 Select 한다.
Dim query = From r In _info_db
Where r.Field(Of String)("Column1") = "AAA"
Select New With
{
.tablesName = r.Field(Of String)("Column2")
}
Dim tmpDt As DataTable = New DataTable
'// Clone 메서드를 이용하여 컬럼을 복제한다.
tmpDt = _info_db.Clone
'// Linq로 조회된 데이터를 temp datatable에 담는다.
For Each item In query
tmpDt.Rows.Add(item.tablesName)
Next
'// 콤보박스 아이템들을 초기화 한다.
__cbTable.Items.Clear()
'// 콤보박스에 아이템을 추가한다.
For Each dr As DataRow In tmpDt.Rows
__cbTable.Items.Add(dr(0).ToString)
Next
'// 맨 처음 목록을 리스트에 올려준다.
__cbTable.SelectedIndex = 0
End If
End Sub
728x90
반응형
'VB.NET' 카테고리의 다른 글
VB.NET TextBox에 숫자만입력받기(실수만 입력받기, 정수만 입력받기) (0) | 2020.04.10 |
---|---|
VB.NET DataGridView 속도개선하기 (DoubleBuffered 이용) (0) | 2020.04.10 |
VB.NET <TreeListView> 원하는 level 접기/펴기 (0) | 2020.04.09 |
VB.NET 버튼 애니메이션 Timer로 간단하게 하기 (Button Animation) / Timer 사용법 (0) | 2020.02.21 |
<TreeListView> Node Drag And Drop (0) | 2020.02.12 |