使用复选框更新数据库 - c#

我有一个数据网格,每一行上都有一个复选框。每行的每个字段都可以更新

用户可以更新多行并选中任何复选框。

单击“提交”按钮后,所有数据均应更新。我需要复选框来更新数据库中的布尔值(或SQL Server的布尔类型)。

如何实现复选框以能够更新数据库中的表?
单击提交按钮,我如何获取所有要更新的数据?

参考方案

遍历数据网格并将所有要更新的数据存储在数组等中。 Sql server具有bit数据类型,如果复选框处于关闭状态,则可以将其设置为0;如果为1,则可以将其设置为checked。收集所有数据后,将其传递到数据层以进行sql更新

您可以使用DataGrid对象遍历其单元格/控件。例如,使用嵌套循环,您可以执行以下操作:

myDG.Items[index1].Cells[index2].Controls[0]

编辑:这取决于列中的输入控件,因为必须强制转换它们。假设您有一个数据网格,其中包含10列,并且除最后一列(即CheckBox)之外的所有列中都有TextBoxes,您可以这样做:

CheckBox cb = null;
TextBox tb = null;
List<string> myList = new List<string>();
for(int row = 0; row < myDG.Items.Count; row++)
{
  for(int col = 0; col < myDG.Columns.Count; col++)
  {
    if(col < 9){
      tb = myDG.Items[row].Cells[col].Controls[0] as TextBox;
      myList.Add(tb.Text);
    }
    else{
      cb = myDG.Items[row].Cells[col].Controls[0] as CheckBox;
      myList.Add(((cb.Checked) ? "1" : "0"));
    }
  }
}

您也可以使用2D阵列/列表进行存储。高温超导

asp.net mvc或javascript将另一页的结果返回给方法 - c#

是否可以将另一个页面的结果返回给JavaScript方法或C#控制器操作?我有一个共享的复杂页面,该页面在我的网站上遍布使用,当前用于在C#后端的用户数据上设置单个变量。当用户完成共享的复杂页面后,我将返回引用页面。当用户在刷新或返回时将其作为url参数传递给返回的页面时,我返回的页面包含新选择的变量。我有一个新页面,我希望从我的共享复杂页面中返回该变量。但…

ASP.NET MVC 5自定义登录,无需脚手架,数据库优先 - c#

我对asp.net和mvc还是很陌生,所以我正在努力学习尽可能多的知识...为此,我从头开始编写博客网站,但是我对身份验证和授权有些困惑。由于我倾向于不真正使用任何脚手架的东西,所以我首先要使用数据库,所以不希望asp.net身份为我创建表。我对散列和加盐密码很酷,并对照数据库检查用户,我遇到的麻烦是将用户设置为登录状态并检查他们应该能够访问什么。我真的很想…

asp.net使用客户端验证而不发布到服务器 - c#

我有一个很长的表格,分为几个部分。我想利用内置的ASP.NET验证控件而不在提交表单之前将其回发到服务器。为了提供更多的上下文,让我解释一下我的想法。该表格分为几部分,每个部分都有一个“下一步”按钮。单击“下一步”按钮时,将使用ASP.NET包含的客户端代码来验证该部分。如果该部分有效,则jquery方法将隐藏该部分并显示下一个。当用户到达表单的最后部分时,…

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

asp.net oledbcommand返回所有行 - c#

我正在使用Oledbconnection连接到Microsoft Access数据库,并且正在使用OleDbCommand检索一些信息。我在数据库中有一个名为retrieveInfo的查询,该查询检索3行数据。字段中有一些重复项,但是应该是这样。我的数据如下所示: Name Email A [email protected] B [email protected] B C@gmai…