2017-08-22 29 views
0

任何人都可以告訴我如何根據選定的單選按鈕過濾Datagridview,我附上了我創建的窗體的屏幕截圖,需要根據存取情況進行過濾。我已將TransactionType作爲枚舉。c#windows窗體使用RadioButton進行過濾

Screenshot of form

回答

2

遍歷你DGV行和檢查,如果第一個單元格的值=值(存款/取款/兩者取決於哪個單選按鈕被選中),然後設置

DataGridView1.Rows[rowIndex].Visible = false; 
0

你可以根據所選的單選按鈕更改您的DataSource

BindingSource bs = new BindingSource(); 
grid.DataSource = bs; 

通過改變你的單選按鈕選擇

bs.DataSource = q; 
bs.ResetBindings(false); 

對於Q使用:

  1. var q = Transactions
  2. var q = Transactions.Where(t=>t.TransactionType==Deposit)
  3. var q = Transactions.Where(t=>t.TransactionType==Withdrawal)
0

,你想要做什麼看起來像這樣的代碼:(可能是不正確的變量名)

    哪個單選按鈕被選中
  1. 校驗值
  2. 根據哪一個被選中,讀取列」每行的「transactionType」,
  3. 渲染可見或不是你想要的行。

Foreach(DataGridViewRow row in DataGridView.Rows) 
{ 
    if(radioButtonDeposit.isChecked()) 
    { 
    if(row["TransactionType"].Value == Enum.Deposit) 
    { 
     row.Visible = true; 
    } 
    else 
    { 
     row.Visible = false; 
    } 
    } 
    else if(radioButtonWithdrawal.isChecked()) 
    { 
    if(row["TransactionType"].Value == Enum.Withdrawal) 
    { 
     row.Visible = true; 
    } 
    else 
    { 
     row.Visible = false; 
    } 
    } 
    else 
    row.Visible = true;    
}