1

我想检查删除的行是否在某个单元格中有一个值,该单元格是整个 GridView 中的最后一个。我知道我可以通过以下方式获取已删除行的单元格的值:

protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
   Response.Write(e.Values["img_cat"]);            
}

但不知道如何检查img_cat已删除行的列内的值是否不存在于任何其他img_cat单元格中。

另外,我想知道这种方法是否更适合检查数据库中某个单元格值的存在。RowDeleted或者只是在事件中直接在数据库中进行检查。

4

2 回答 2

1

您可以在您的活动中写下此代码并检查

   foreach (GridViewRow row in gvAdminUsers.Rows) {

    if (row.RowType == DataControlRowType.DataRow) {
              //here 2 can be replace by your column index i.e. index of image column 

        if (row.Cells(2).Text == e.Values["img_cat"]) {
            // found inserted user - select it!
            gvAdminUsers.SelectedIndex = iRowCnt;
        }
        iRowCnt += 1;
    }
 }
 if(iRowCnt>1)
  //there are row exists with this value

像这样你可以解决你需要遍历每一行网格来找出价值的问题

于 2013-01-12T07:40:44.120 回答
1

作为@PranayRana 答案的补充,您还可以使用 Linq:

protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
   var val = e.Values["img_cat"];
   if (!(sender as GridView).Cast<GridViewRow>().Any(x => x["img_cat"] == val))
   {
       //It's the last one, do something.
   }
}
于 2013-01-12T07:43:45.560 回答