2014-09-30 7 views
0

필자는 개발중인 시스템에서 필터를 만들 필요가 있지만 단 한 줄로 만 만들 수 있지만 더 많은 행을 추가하고 프로그램을 실행하면 오류가 발생하여 멈추고 오류가 발생합니다. 내가 사용하고 코드 : 당신은 너무 같은 CONVERT 함수를 사용하여 문자열로 ID를 변환 할 수 있습니다ID와 이름에서 검색 할 여러 행이있는 검색 필터를 만들려면 어떻게해야합니까?

public partial class frmconsultamateriaprima : Form 
{ 
    DataView view = new DataView(); 

    public frmconsultamateriaprima() 
    { 
     InitializeComponent(); 
    } 

    private void frmconsultamateriaprima_Load(object sender, EventArgs e) 
    { 
     DataTable datatable = new DataTable(); 
     SqlConnection con = new SqlConnection(@"Data Source=USER-PC;Initial Catalog=dbpuntodeventa;Integrated Security=True"); 
     con.Open(); 
     datatable.Load(new SqlCommand("select * from materiaprima", con).ExecuteReader()); 
     dataGridView1.DataSource = view = datatable.DefaultView; 
     con.Close(); 
    } 

    private void txtfiltro_TextChanged(object sender, EventArgs e) 
    { 
     view.RowFilter = (" nombre like '%" + txtfiltro.Text + "%' or id like '%" + txtfiltro.Text + "%'"); 
     if (txtfiltro.Text == "") 
     view.RowFilter = string.Empty; 

    } 
} 
+0

당신이'예 에 대해 다음 사용하여 작은 따옴표 같은 것을 시도해 볼 수도 있습니다 view.Select ("nombre like '"& txtfiltro.Text & "%'")'등등 ... ID와 동일한 패턴을 따르십시오 ....가능한 10 중복하지만 체크 아웃이 게시물 [내가 어떻게 행을 검색 할 수 있습니다] (http://stackoverflow.com/questions/14497367/how-i-can-search-rows-in-a-datatable-with-a-searchstring) – MethodMan

+1

@DJKRAZE가 맞을 수도 있지만 전체 오류를 올리시겠습니까? – paqogomez

+0

드레이크가 말한 것을 시도했으나 비슷한 부분이 없다는 오류 메시지가 system.int32와 system.string에 사용되었습니다. – user36379

답변

0

...

private void txtfiltro_TextChanged(object sender, EventArgs e) 
{ 
    view.RowFilter = " nombre like '%" + txtfiltro.Text + 
      "%' or CONVERT(id,'System.String') like '%" + txtfiltro.Text + "%'"; 
} 
+0

문제를 해결해 준 친구에게 감사드립니다. – user36379

관련 문제