나는 텍스트 상자를 만들었고 고객의 데이터베이스를 통해 이름으로 검색하려고합니다. 대부분의 질문은 외부 데이터 세트를 사용하지만 이것은 csv 파일을 사용하여 프로그램에서 작성된 테이블을 사용하는 것입니다.데이터 테이블의 데이터를 사용할 때 DataGridview를 필터링하는 방법은 무엇입니까? VB.net
0
A
답변
1
BindingSource
에서 활용하여 DataGridView의 데이터 소스로 사용할 수 있습니다. 그런 식으로 BindingSource Filter 속성에서 작업하면 열 이름을 기반으로 모든 유형의 필터를 설정할 수 있습니다. 당신이 볼 수 있듯이
Dim dt As New DataTable("Sample")
dt.Columns.Add("Id")
dt.Columns.Add("TimeStamp")
For i As Int32 = 0 To 9999
dt.Rows.Add(New Object() {i, DateTime.Now})
Next
Dim bs As New BindingSource
bs.DataSource = dt
bs.Filter = "Id > 10 AND Id < 20"
DataGridView1.DataSource = bs
, 나는 두 개의 열, 즉 "ID"와 "타임 스탬프"로 DataTable을 정의했습니다 :
는 다음 코드를 확인하시기 바랍니다. 그런 다음 간단한 루프를 사용하여 Idata = 0에서 Id = 9999로 임의의 레코드로 DataTable을 채 웁니다.그런 다음 DataSource를 DataTable로 지정하여 BindingSource를 선언합니다. Bindinf Source에서 Filter 속성, 열 이름 및 일반 논리 연산자를 사용하여 필터를 설정할 수 있습니다. 내 예에서
, 나는 그 이드가 그런
(11) 사이 (19), 우리는 우리의 DataGridView에 데이터 소스로 BindingSource에 사용할 수있다 그 기록을 시각화 할 수있는 유일한 id 컬럼에있을 필터를 요청했습니다. 그리고 DataGridView DataSource를 할당하기 전에 필터를 적용 할 필요가 없습니다. 실제로 바인딩 후에 각 필터 응용 프로그램은 시각화 된 행에 즉시 반영됩니다.
희망 하시겠습니까?
관련 코드를 추가하십시오. –
검색 하시겠습니까, 아니면 필터링하고 싶습니까? [Ask]를 읽고 [둘러보기] – Plutonix
가져 오기 가장 쉬운 방법은 IMT가 DataTable에서 만든 DateView를 레코드 소스로 사용하고 Dataview의 필터를 사용하는 것입니다. – rheitzman