2013-01-12 4 views
1

삭제 된 행에 GridView 전체에서 해당 종류의 마지막 셀의 값이 있는지 확인하고 싶습니다. 나는이에 의해 삭제 된 행의 셀의 값을 얻을 수 있다는 사실을 알고 :특정 GridView 열의 모든 값을 가져 오는 방법은 무엇입니까?

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

그러나 삭제 된 행의 img_cat 열 내부의 값이 어떤 존재하지 않음을 확인하는 방법을 모른다 기타 img_cat 세포.

또한이 방법이 데이터베이스의 특정 셀 값의 존재를 확인하는 것이 더 나은지 알고 싶습니다. 또는 RowDeleted 이벤트 내부의 데이터베이스에서 직접 체크 만하면됩니다.

+1

'GridView.Rows' 컬렉션을 사용해보십시오. – adatapost

답변

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 

를 확인하실 수 있습니다 @ 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. 
    } 
} 
+0

+1 .... 그냥 linq 코드를 사용하여 ... –

1

당신은 당신의 보충으로 값을

관련 문제