猿问

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

我有一个位类型(布尔值)的 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();

}


繁花如伊
浏览 198回答 2
2回答

Smart猫小萌

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

侃侃尔雅

使用以下代码: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;            }        }    }}
随时随地看视频慕课网APP
我要回答