我試圖篩選已綁定到數據集的datagridview一個DataGridView。問題是,當我在我的文本框中輸入數據時,應用程序停止,錯誤是我試圖過濾的列不存在。我試圖使用字符串查詢填充datagridview,並且過濾工作正常,但我無法更新datagridview(我不知道爲什麼)。這就是爲什麼我用數據集而不是查詢填充它。有什麼建議麼?這是我有:過濾綁定到數據集一個文本框C#
DataTable dt = new DataTable("Items");
private void LoadDataGrid()
{
using (SqlDataAdapter da = new SqlDataAdapter("SELECT Items.ItemID AS #, Items.SerialNo AS 'SERIALNO', Items.Description AS DESCRIPTION, Items.MaxVoltage, Items.FrameSize, Items.ArrivalDate, Items.DepartureDate, Items.Notes, Items.MechType, Items.[Fix-Drawout], CONCAT(Location.Rack, Location.Row, Location.Columnn, Location.Position) AS LOCATION, ItemStatus.Description AS STATUS, Type.Description AS TYPE, Manufacturers.Description AS MANUFACTURERS FROM Items INNER JOIN Location ON Items.LocationID = Location.LocationID INNER JOIN ItemStatus ON Items.Status = ItemStatus.StatusID INNER JOIN Type ON Items.TypeID = Type.TypeID INNER JOIN Manufacturers ON Items.ManufacturerID = Manufacturers.ManufacturerID", AEAcnn))
{
da.Fill(dt);
dataGridView1.DataSource = dt;
}
}
這是我使用的過濾器表達式(與組合框)
private void txtFilter_KeyPress(object sender, KeyPressEventArgs e)
{
if (cmbFilterSearch.Text == "TYPE")
{
DataView dv = dt.DefaultView;
dv.RowFilter = string.Format("TYPE LIKE '%{0}%'", textBox14.Text);
dataGridView1.DataSource = dv.ToTable();
}
}
應用崩潰時,列類型不能被發現,即使名稱實際上是TYPE。
這個問題會更好,如果你包括你的代碼嘗試人們審查。 – silentsod
我的壞!有我的。 –
您尚未顯示您正在使用的過濾器表達式 – stuartd