콤보 상자에서 선택한 열 이름으로 제한되는 텍스트 상자에서 문자열을 검색하여 datagridview에서 수천 개의 항목 표를 필터링하려고합니다. 검색이 실시간으로 일어나기를 원합니다. textbox_TextChanged 클래스를 통해 업데이트되었습니다. 나는 연구를 통해 필자가 필요로하는 코드를 작성했다. 나는 텍스트 상자에 입력 할 때마다 그러나의 TextChanged 클래스를 자극하는 오류가 발생합니다 :WinForm DataGridView C#의 문자열로 정렬 #
"던져 예외 :가 system.data.dll에서 'System.Data.SyntaxErrorException'"는 DataGridView에가하는
주 텍스트 상자에 입력하기 전에 모든 데이터 항목을 표시하고 콤보 상자 옵션은 datagridview의 열과 똑같습니다.
내 코드 :
private void searchTerms_TextChanged(object sender, EventArgs e)
{
BindingSource bs = new BindingSource();
bs.DataSource = shareholderDataGrid.DataSource;
bs.Filter = string.Format(searchItem + " like '%{0}%'", searchTerms.Text.Trim().Replace("'", "''"));
shareholderDataGrid.DataSource = bs;
}
shareholderDataGrid는 searchItem이 콤보 상자에서 선택한 캐릭터 라인을 적용, DataGrid를, 그리고의 SearchTerms는 사용자 유형으로 텍스트 상자를 의미합니다.
더 많은 도움이 필요하시면 언제든지 문의하십시오.
봅니다이 볼 수 있습니다 :> http://stackoverflow.com/questions/5843537/filtering-datagridview-without-changing-datasource – Fred
@cjpartin, 및 String.format'의 값 (searchItem은 무엇을 .. .)'예외가 발생했을 때? – ASh
콤보 상자에서 선택한 옵션에 관계없이 발생합니다. 옵션은 'ID', '성', '성'입니다. 그것들은 searchItem의 값입니다. – cjpartin