2017-05-03 6 views
0

Ich habe ein Textfeld, das ich verwende, um einen Kunden aus meiner Datenbank zu suchen.DataGridView-Daten mit DataView aktualisieren

dies ist mein Code:

DataView dv = new DataView(tabSearchCustomer); 
dv.RowFilter = string.Format("CONVERT({0},System.String) LIKE '%{1}%'", "ID", txtboxSearchCustomer.Text); 
dgvCustomers.DataSource = dv; 

dgvCustomers.DataSource = dv zeigt nur die neuen Daten, es ersetzt sie nicht in der dgv.

Ich möchte, dass mein dgv mit den neuen Daten aktualisiert wird, die ich gesucht wurde (ersetzen Sie die alten Daten in der dgv), wie kann ich das tun?

Mein dgv vor der Suche: enter image description here

Mein dgv nach der Suche: enter image description here

+0

Es ist nicht klar, was Sie fragen - erwarten Sie Die 'DataGridView' wird aktualisiert, wenn Sie die' DataSource' aktualisieren? – Chawin

+0

Ja, ich möchte, dass mein dgv ** nur ** diese Daten enthält: https://i.stack.imgur.com/GHW0E.png – Kfir

Antwort

0
public static DataTable ExecuteQuery(string storedProcedure, SqlParameter[] parameters) 
{ 
    using (SqlConnection sqlConnection = new SqlConnection(DLLConfig.GetDataBaseConnection())) 
    { 
     DataTable dataTable = new DataTable(); 

     SqlCommand sqlCommand = new SqlCommand(storedProcedure, sqlConnection); 
     sqlCommand.CommandTimeout = 0; 
     sqlCommand.CommandType = CommandType.StoredProcedure; 

     foreach (SqlParameter param in parameters) 
     { 
      sqlCommand.Parameters.Add(param); 
     } 

     SqlDataAdapter sqlAdapter = new SqlDataAdapter(sqlCommand); 
     sqlAdapter.Fill(dataTable); 

     SqlConnection.ClearAllPools(); 

     return dataTable; 
    } 
} 

Verbrauch:

dataGridView1.DataSource = ExecuteQuery().DefaultView; 
+0

Ich benutze OleDb nicht SQL. – Kfir