0
我有一個現有的datagridview和一個搜索文本框。搜索並重新加載datagridview
當我鍵入一個搜索文本,然後單擊基於下面的方法(使用存儲過程)的搜索按鈕,我喜歡讓它自動重新加載與搜索結果的datagridview。
我該如何做到這一點?
public static void searchAny(String searchFields, String tblName, String connectionString, SqlCommand tblscmd, SqlDataAdapter tbldataadaptor, DataTable tbldatatable, SqlCommandBuilder cmbuilder, DataGridView DataGridViewName)
{
using (SqlConnection tblconn = new SqlConnection(connectionString))
{
tblconn.Open();
SqlCommand tblcmd = new SqlCommand();
tblcmd.Connection = tblconn;
tblcmd.CommandType = CommandType.StoredProcedure;
tblcmd.CommandText = "usp_searchany";
tblcmd.Parameters.Add("@stringToFind", SqlDbType.NVarChar);
tblcmd.Parameters["@stringToFind"].Value = "%" + searchFields + "%";
tblcmd.Parameters.Add("@table", SqlDbType.NVarChar);
tblcmd.Parameters["@table"].Value = tblName;
cmbuilder.DataAdapter = tbldataadaptor;
tbldatatable.DefaultView.AllowDelete = true;
tbldatatable.DefaultView.AllowEdit = true;
tbldataadaptor.Fill(tbldatatable);
DataGridViewName.ReadOnly = false;
DataGridViewName.DataSource = tbldatatable;
tblconn.Close();
}
}
private void SearchButton_Click(object sender, EventArgs e)
{
tbldatatable.Clear();
String searchFields = SearchTextBox.Text;
GeneralMethods.searchAny(searchFields, "tblClients", connectionString, tblcmd, tbldataadaptor, tbldatatable, cmbuilder, dataGridView);
dataGridView.DataSource = tbldatatable;
dataGridView.Refresh();
}
問題是什麼嗎?網格是否被填滿? – Kangkan
我使用了上述方法,它不返回搜索結果,也沒有刷新datatable/datagridview。 – kyusan93
你需要清除datagridview,綁定並刷新。 – Kangkan