زر تمكين C# عند النقر فوق جميع مربعات الاختيار في datagridview


في هذا البرنامج، أريد تمكين الزر بعد تحديد جميع مربعات الاختيار في datagridview. الوضع الحالي هو أن الزر لن يتم تمكينه إلا عند النقر فوق مربع الاختيار الأخير في العمود. أي اقتراح لحل هذه المشكلة؟

ما حاولت:

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;
            }
        }
    }

}

الحل 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;
}

الحل 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をコピーしました