1
このコードは、リスト内のチェックされた項目だけが表示されるように、dataGridViewを事前フィルタします。checkedListBoxの最後の項目が表示されません
私が直面している問題は、チェックを外してもう一度チェックして「実行」を押さない限り、コードが何時でも最後の項目を省略することです。
これは私のコードです:
public partial class Notifications : Form
{
string filterstring = "";
int count = 0;
private void checkedListBox_ItemCheck(object sender, System.EventArgs e)
{
// Loop through all items in the checkedBoxes.
foreach (object itemChecked in checkedListBox.CheckedItems)
{
if (count != 0)
{
filterstring += "OR Responsible = '" + itemChecked.ToString() + "'";
}
else
filterstring += "Responsible = '" + itemChecked.ToString() + "'";
count += 1;
}
}
private void button1_Click(object sender, EventArgs e)
{
DataTableCollection tables = myDatabaseDataSet.Tables;
DataView view = new DataView(tables[0]);
BindingSource source = new BindingSource();
source.DataSource = view;
dataGridView1.DataSource = source;
source.Filter = filterstring;
}
私は解決策が愚かかもしれないが、私はそれを把握することはできません知っています。
ItemCheckイベントが発生するまで、チェック状態は更新されません。[CheckedListBox ItemCheckイベントは、以前にチェックされた項目の後で実行するように管理します。/a/32291665/3110834) –