Tombol aktifkan C# ketika semua kotak centang di datagridview diklik

pemrograman


Dalam program ini, saya ingin tombol diaktifkan setelah semua kotak centang di datagridview dicentang. Situasi saat ini adalah tombol hanya akan diaktifkan ketika kotak centang terakhir di kolom diklik. Adakah saran untuk mengatasi masalah ini?

Apa yang saya coba:

private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    var senderGrid = (DataGridView)sender;
    senderGrid.EndEdit();
    for (int i = 0; i <= dataGridView2.Rows.Count - 1; i++)
    {
        if (e.RowIndex >= 0)
        {
            var cbxCell = (DataGridViewCheckBoxCell)senderGrid.Rows[i].Cells[1];
            if ((bool)cbxCell.Value)
            {
                btn1.Enabled = true;
            }
            else
            {
                btn1.Enabled = false;
            }
        }
    }

}

Solusi 1

private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    bool flag = true;
    var senderGrid = (DataGridView)sender;
    senderGrid.EndEdit();

    for (int i = 0; i <= dataGridView2.Rows.Count - 1; i++)
    {
        if (e.RowIndex >= 0)
        {
            var cbxCell = (DataGridViewCheckBoxCell)senderGrid.Rows[i].Cells[1];

            if (!(bool)cbxCell.Value)
            {
                flag = false;
            }
        }
    }

    btn1.Enabled = flag;
}

Solusi 2

private void dgvSelectedServices_CellContentClick(object sender, DataGridViewCellEventArgs e)
{


    bool flag = true;
    var senderGrid = (DataGridView)sender;
    senderGrid.EndEdit();

    for (int i = 0; i <= dgvSelectedServices.Rows.Count - 1; i++)
    {
        foreach (DataGridViewRow row in dgvSelectedServices.Rows)
        {

            if (e.RowIndex >= 0)
            {
                bool isselect = Convert.ToBoolean(row.Cells[2].Value);
                if (isselect)
                {
                    if (dgvSelectedServices.SelectedRows.Count == dgvSelectedServices.Rows.Count)
                    {
                        flag = true;
                    }

                }
                else
                {
                    flag = false;
                }
                btnNextToWIP.Enabled = flag;
            }

        }

    }


}

コメント

タイトルとURLをコピーしました