我想检查一个已删除的行是否在某个单元格中有一个值,该值是整个GridView中最后一个类型。我知道我可以通过这个来获取已删除行的单元格的值:
protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
Response.Write(e.Values["img_cat"]);
}
但是不知道如何检查已删除行的img_cat
列中的值在任何其他img_cat
单元格中是否不存在。
另外,我想知道这种方法是否更适合检查数据库中是否存在某个单元格值。或者直接在RowDeleted
事件中直接检查数据库。
答案 0 :(得分: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
就像这样你可以解决你需要遍历每一行网格以找出值的问题
答案 1 :(得分: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.
}
}