SQL Server に格納されたデータを取得し、DataTable に格納して DataGrid に表示する WPF Browserapplication があります。DataTable のエントリを検索できる TextBox が必要ですが、アプリケーションをロードすると、行 [Company] が見つからないというエラーが表示されます。
問題は、フィルターが DataTable に適用されているときに DataTable がまだ入力されていないことだと思います。誰かがこれを機能させる方法のヒントを教えてもらえますか?
DataTable dt = new DataTable();
public Page1()
{
InitializeComponent();
showSQLData();
}
private void showSQLData()
{
string sqlConnectionString = @"blabla";
string sqlCommandString = "SELECT * FROM Excel_import";
using (SqlConnection sqlConnection = new SqlConnection(sqlConnectionString))
{
SqlCommand cmd = new SqlCommand(sqlCommandString, sqlConnection);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
dataGridSQLData.ItemsSource = dt.DefaultView;
}
}
private void textBoxSearch_TextChanged(object sender, TextChangedEventArgs e)
{
dt.DefaultView.RowFilter = string.Format("Company LIKE '%{0}%'", textBoxSearch.Text);
}