【问题标题】:update the database column value based on check box checked in grid view根据在网格视图中选中的复选框更新数据库列值
【发布时间】:2014-06-27 06:27:12
【问题描述】:

我想根据使用 asp.net c# 在网格视图中选中的复选框更新数据库列值

在下面的编码中,chbox显示空引用异常

foreach (GridViewRow rows in grdApproval.Rows)
{                

       if (Chbox.Checked)
       {
            int RoleID = Convert.ToInt32(ViewState["RoleID"].ToString());
            int TsId = Convert.ToInt32(hfTimesheetId.Value);
            var Qry = (from m1 in TSEntity.Roles
                       where m1.RoleId == RoleID
                       select m1).FirstOrDefault();
            if (Qry != null)
            {
                  var QryEditTimesheet = (from m2 in TSEntity.TimeSheets
                                          where m2.Id == TsId
                                          select m2).FirstOrDefault();
                  if (QryEditTimesheet != null)
                  {
                        QryEditTimesheet.IsApproved = true;
                        QryEditTimesheet.ApprovedBy = ViewState["EmpName"].ToString();
                        QryEditTimesheet.ModifiedDate = DateTime.Now;
                        TSEntity.SaveChanges();
                  }
            }
            BindGrid();


       }
       else
       {
            BindGrid();
       }
}   

【问题讨论】:

  • 显示您的 html 代码以及如何删除 chbox
  • 看到这个我只能说是做null检查。
  • 您必须先找到您的CheckBox,然后将其转换为CheckBox as (CheckBox)row.FindControl("your_checkbox_id")
  • 现在可以使用了,谢谢 Bhradwaj

标签: c# asp.net gridview


【解决方案1】:

没有任何进一步的信息,我只能猜测。

首先我建议将您的第一行更改为

foreach(GridViewRow row in grdApproval.Rows)

第二个你能不能试着把你的第二行改成

if(row.Columns["yourcheckboxcolumnnumber"].checked)

希望有帮助。

【讨论】:

  • 也可能存在CheckBox 控件。那么你的第二行就不行了。
猜你喜欢
  • 1970-01-01
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多