为了账号安全,请及时绑定邮箱和手机立即绑定

用于选择或取消选择列 SQL 的所有项目的复选框

用于选择或取消选择列 SQL 的所有项目的复选框

C#
繁花如伊 2022-11-21 22:09:21

我有一个位类型(布尔值)的 SQL 列,我可以从显示这些复选框的数据网格中选中或取消选中我选择的某些项目。现在我想要一个复选框来选择或取消选择数据网格中的所有复选框。我已经到达了这段代码:


private void Chk_All_Checked(object sender, RoutedEventArgs e)

{

  sqliteCon.Open();

  if (sqliteCon.State == System.Data.ConnectionState.Open)

  {


    CORRENTE


    string q = @"UPDATE tabL

                     SET selection = (CASE 

                                        WHEN (SELECT selection FROM tabL ) = 0

                                        THEN 1

                                        ELSE 0

                                      END)

                     WHERE ?????????????????????";


    SqlCommand cmd = new SqlCommand(q, sqliteCon);

    cmd.ExecuteNonQuery();

    MessageBox.Show("All Items Checked");



  }

  sqliteCon.Close();

}

“WHERE idL=@CURRENT”是错误的


这是另一种尝试,但效果不佳:


private void Chk_All_Checked(object sender, RoutedEventArgs e)

{

  sqliteCon.Open();

  if (sqliteCon.State == System.Data.ConnectionState.Open)

  {

    string q = @"UPDATE tabL

                     SET selection = 1";

    SqlCommand cmd = new SqlCommand(q, sqliteCon);

    cmd.ExecuteNonQuery();

    MessageBox.Show("All Items Checked");



    string q2 = @"UPDATE tabL

                     SET selection = 0";

    SqlCommand cmd2 = new SqlCommand(q2, sqliteCon);

    cmd2.ExecuteNonQuery();

    MessageBox.Show("All Items DeChecked");



  }

  sqliteCon.Close();

}


查看完整描述

2 回答

?
Smart猫小萌

TA贡献1603条经验 获得超7个赞

378 次查看 0 个解决方案,但我自己找到了一个 chkbox 对象有两个事件处理程序,一个用于检查,一个用于 deceked。


private void Chk_All_Checked(object sender, RoutedEventArgs e)

{

  sqliteCon.Open();

  if (sqliteCon.State == System.Data.ConnectionState.Open)

  {

    if (chk_All.IsChecked == true) { 

    string q = @"UPDATE tabList

                     SET selection = 1";

    SqlCommand cmd = new SqlCommand(q, sqliteCon);

    cmd.ExecuteNonQuery();

    MessageBox.Show("All Items Checked");

    }



  }

  sqliteCon.Close();

}




  private void CheckBox_Unchecked(object sender, RoutedEventArgs e)

{

  sqliteCon.Open();

  if (sqliteCon.State == System.Data.ConnectionState.Open)

  {

    if (chk_All.IsChecked == false)

    {

      string q2 = @"UPDATE tabList

                     SET selection = 0";

      SqlCommand cmd2 = new SqlCommand(q2, sqliteCon);

      cmd2.ExecuteNonQuery();

      MessageBox.Show("All Items DeChecked");

    }

  }

  sqliteCon.Close();

}


查看完整回答
反对 回复 2022-11-21
?
侃侃尔雅

TA贡献1528条经验 获得超14个赞

使用以下代码:


private void DataGridView_CellClick(object sender, DataGridViewCellEventArgs e)

{

    if (e.RowIndex >= 0 && e.ColumnIndex == 0)

    {         

        foreach (DataGridViewRow row in dataGridView1.Rows)

        {

            if (row.Index == e.RowIndex)

            {

                row.Cells["checkBoxColumn"].Value = 

                !Convert.ToBoolean(row.Cells["checkBoxColumn"].EditedFormattedValue);

            }

            else

            {

                row.Cells["checkBoxColumn"].Value = false;

            }

        }

    }

}


查看完整回答
反对 回复 2022-11-21
  • 2 回答
  • 0 关注
  • 8 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信