C# 复选框以选择或取消选择SQL列的所有项
我有一个bit(boolean)类型的SQL列,我可以从数据网格中选中或取消选中我选择的某些项,这些复选框显示在数据网格中。现在我想有一个复选框来选择或取消选择数据网格中的所有复选框。我得出了以下代码:C# 复选框以选择或取消选择SQL列的所有项,c#,sql,wpf,C#,Sql,Wpf,我有一个bit(boolean)类型的SQL列,我可以从数据网格中选中或取消选中我选择的某些项,这些复选框显示在数据网格中。现在我想有一个复选框来选择或取消选择数据网格中的所有复选框。我得出了以下代码: private void Chk_All_Checked(object sender, RoutedEventArgs e) { sqliteCon.Open(); if (sqliteCon.State == System.Data.ConnectionState.Open) {
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();
}
使用以下代码:
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;
}
}
}
}
378查看了0个解决方案,但我自己找到了一个 chkbox对象有两个事件处理程序,一个用于checked,另一个用于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();
}
您从未将
@CURRENT
参数添加到SQL语句中。我不需要知道@CURRENT行的确切位置,因为我必须选中或取消选中所有行,将它们全部设置为0或全部设置为1,我想您误解了。我知道但知道要添加哪些参数。如果选中,则只需选中一个复选框即可将表“tabList”的所有列“selection”设置为1,如果未选中,则设置为0,有什么不清楚的?很抱歉,我不理解这个问题,我需要在单击单个单独的复选框时选中或取消选中em all(Chk_all)datagrdiview来自windows formWelcome to stackoverflow。请添加一个关于如何解决问题的简要说明。谢谢,考虑到DataGridView不是来自WPF