0
我有數據網格視圖,並在一個列中包含數值,我試圖應用濾波器顯示更大等,但我無法與解決方案。在C#中的DataGridview中應用數值濾波器
屏幕:
代碼:
調用類方法和值分配給datagridview的
dataGridViewKeywords = filter.Filter(dataGridViewKeywords, mainValue, true);
類文件:
class FilterDataGridView
{
private DataGridView modifiedDGV = new DataGridView();
private string keyword;
private int competionScore;
DataTable dt = new DataTable();
public DataGridView Filter (DataGridView dgv, int value, bool isabove)
{
modifiedDGV.Columns.Add("keyword", "Keyword") ;
modifiedDGV.Columns.Add("competition", "Avg. Competition Score");
modifiedDGV.Columns.Add("moreinfo", "More Info");
if (isabove)
{
for (int row = 0; row < dgv.Rows.Count; row++)
{
competionScore = Convert.ToInt32(dgv.Rows[row].Cells[1].Value);
keyword = dgv.Rows[row].Cells[0].Value.ToString();
if (competionScore > value)
modifiedDGV.Rows.Add(keyword, competionScore, "View");
}
}
return modifiedDGV;
}
感謝您的回覆,但如何應用過濾器爲int我想過濾器似乎並不工作'bind.Filter =「AvgCompetitionScore> 30」;' –
這不完全正確。 BindingSource並沒有爲你實現過濾/排序,它實際上只是一個包裝,它依賴於底層的數據源來做到這一點。更具體地說,就是'IBindingListView'的實現。真正實現該接口的唯一標準數據源是'System.Data.DataView'。 –
@IvanStoev現在我明白我會嘗試找出現在的解決方案 –