在WinForms應用程序中,使用DataGridView控件實現數據過濾的方法如下:
// 創建一個DataTable
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Rows.Add(1, "Alice");
dataTable.Rows.Add(2, "Bob");
dataTable.Rows.Add(3, "Charlie");
// 將DataTable綁定到DataGridView
dataGridView1.DataSource = dataTable;
// 創建一個文本框
TextBox filterTextBox = new TextBox();
filterTextBox.TextChanged += FilterDataGridView;
// 將文本框添加到窗體上
this.Controls.Add(filterTextBox);
FilterDataGridView
事件處理程序。在這個方法中,你需要根據用戶輸入的過濾條件來篩選數據,并更新DataGridView的顯示內容。例如:private void FilterDataGridView(object sender, EventArgs e)
{
// 獲取過濾條件
string filterText = filterTextBox.Text.Trim();
// 創建一個新的DataTable,用于存儲過濾后的數據
DataTable filteredTable = dataTable.Clone();
// 遍歷原始數據表中的所有行
foreach (DataRow row in dataTable.Rows)
{
// 如果當前行的Name列包含過濾條件,則將該行添加到新的DataTable中
if (row["Name"].ToString().Contains(filterText))
{
filteredTable.ImportRow(row);
}
}
// 將新的DataTable設置為DataGridView的數據源
dataGridView1.DataSource = filteredTable;
}
現在,當用戶在文本框中輸入過濾條件時,DataGridView將根據條件自動更新顯示的數據。