2012-11-07 2 views
4

나는 내 문제에 대한 해결책을 인터넷에서 찾았고 내 studygrp는 classLibrary에서 정보를 취하는 DataGridview를 만들고있다. 모든 것은 작동하지만 이제는 필터를 적용해야합니다.하지만 찾을 수있는 것은 모두 바인딩 소스입니다.하지만 그건 내가 생각한 것이 아닙니다. 난 그냥 텍스트 상자에 뭔가를 입력 할 수 있도록 간단한 필터를 원한다면 그 정보를 포함하는 경우 datagridview에 그것을 보여줍니다. 나는 시도했다 :필터 DataGridView

((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = "FromColumn like '%" + textBox1.Text + "%'"; 

그러나 나는 그것을 hmmn ... 원할 수있는 것처럼 작동하지 않는다.

답변

2

이 시도 :

DataView dv = ((DataTable)dataGridView1.DataSource).DefaultView; 
dv.RowFilter = "FromColumn like '%" + textBox1.Text + "%'"; 
dataGridView1.DataSource = dv; 
+0

dataGridView1.DataBind();와 함께해야 할 일은 무엇입니까? 그것은 그것이 나에게 dataBind에 대한 정의가 포함되어 있지 않다는 것을 말해 줍니까? – Ra91

+0

우리는 3 계층 아키텍처, 디자인을위한 Windows 폼, 정보를 처리하는 로직 레이어 및 데이터를 가져 와서 저장하여 datagridview가 dataGridView1.DataSource = logic.LoadMessages(); 데이터 레이어에서 메시지를로드하는 경우 – Ra91

+0

@ Ra91 업데이트 된 답변을 참조하십시오. –

3

이 BindingSource에보십시오. 그것은 내가 가장 내 요구 스위트 룸이를 발견했습니다

BindingSource bs = new BindingSource(); 
bs.DataSource = dataGridView1.DataSource; 
bs.Filter = "yourColumnName like '%" + textBox1.Text + "%'"; 
dataGridView1.DataSource = bs; 
+0

thnx에 입력되었지만 System이 있습니다. NullReferenceException이 처리되지 않았습니다 메시지 = objectReference가 객체 인스턴스에 부여되지 않았습니다 – Ra91

+0

Thx 다시 ur for 대답 : D 이제 반쪽은 xD 전에는 더 잘 작동하지만 문제는 지금 검색 할 때 빈 행을 제공합니까? 그게 뭔지 알아? – Ra91

+0

여전히 빈 행을 추가하여 다소 실망 스럽습니다./아직 시도하지 않았지만 결과가 없습니다. – Ra91

2

필터링의 좋은 다양한 시설을 제공합니다

당신이는 바인딩에 저장되어 그리드에 표시 할 데이터를 (때 상당히 깔끔한 인 INotifyPropertyCchanged 지원

:

public MyDataList = new BindingList<MyDataItem>(); 

그리드의 데이터 소스에 할당 : 당신은 그렇게 somwhere이는 바인딩을 정의) .... 목록을 업데이트 "필터 버튼"을 누르면

, 또는 어떤 이벤트 당신이 원하는 :

myDataGrid.DataSource = MyDataList.Where(ln => ln.propertyname.Contains(textBoxFilter.Text).ToList(); 

그냥 다시 설정 filterm를 재설정 할 때

MyDataGrid.DataSource = MyDataList 

이 도움이 되었으면 좋겠 orginal 한 소스, 인사

+0

당신의 코드에'ln'이 무엇인지 모르겠지만 당신의 대답은 저에게 잠시 나를 빠져 나갔다. 감사합니다! – John

+0

ln은 linq 식 (메서드 구문)의 자리 표시 자/변수 이름입니다. 원하는 것을 사용할 수 있습니다. 참조 : https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/query-syntax-and-method-syntax-in-linq – womd