c#获取checkbox所选中的数据
时间: 2023-11-07 22:31:35 浏览: 50
假设你有一组checkbox控件,每个控件都有一个唯一的ID和一个文本值。你想要获取哪些checkbox被选中了,可以使用以下代码:
```csharp
List<string> selectedValues = new List<string>();
foreach (Control control in this.Controls)
{
if (control is CheckBox && ((CheckBox)control).Checked)
{
selectedValues.Add(control.Text);
}
}
```
这段代码将遍历窗体上的所有控件,如果控件是一个checkbox并且被选中了,就将它的文本值添加到一个字符串列表中。你可以根据需要修改这段代码来适应你的具体应用场景。
相关问题
c#gridcontrol通过checkbox删除选中行
可以使用以下代码实现:
```csharp
private void btnDelete_Click(object sender, EventArgs e)
{
// 获取选中行
List<int> selectedRows = new List<int>();
for (int i = 0; i < gridView1.RowCount; i++)
{
object cellValue = gridView1.GetRowCellValue(i, "checkboxColumnName");
if (cellValue != null && (bool)cellValue)
{
selectedRows.Add(i);
}
}
// 删除选中行
for (int i = selectedRows.Count - 1; i >= 0; i--)
{
gridView1.DeleteRow(selectedRows[i]);
}
}
```
其中,"checkboxColumnName" 是你在 GridControl 中添加的 checkbox 列的列名。需要注意的是,如果你的 checkbox 列不是绑定数据的,而是通过代码创建的,那么可以使用以下方式获取 checkbox 值:
```csharp
bool checkboxValue = (bool)gridView1.GetRowCellValue(rowIndex, gridView1.Columns["checkboxColumnName"]);
```
c#for循环通过id删除checkbox选中的数据库数据
可以使用以下代码实现:
```c#
// 获取选中的 checkbox 的 id
List<int> ids = new List<int>();
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox cb = (CheckBox)row.FindControl("CheckBox1");
if (cb != null && cb.Checked)
{
int id = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
ids.Add(id);
}
}
// 根据选中的 id 删除数据库数据
string connectionString = "your connection string";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
foreach (int id in ids)
{
string sql = "DELETE FROM yourTable WHERE id = @id";
using (SqlCommand command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@id", id);
command.ExecuteNonQuery();
}
}
}
```
上述代码假设使用了一个 GridView 控件来显示数据库中的数据,并且每一行都有一个 CheckBox 控件来表示是否选中该行数据。在删除数据时,首先需要获取选中的 CheckBox 的 id,然后根据这些 id 依次删除数据库中的数据。请将代码中的 "yourTable" 和 "@id" 替换为实际的表名和 id 字段名。