2012-11-05 3 views
1

.Net 프로젝트에서 작업 중이며 GridView에 몇 가지 문제가 있습니다.GridView RowDataBound, 삭제 된 셀이 다시 나타납니다.

내 페이지에는 여러 개의 버튼이 있습니다. GridView를 바인딩하는 버튼을 클릭하면 모든 것이 정상이지만 다른 버튼을 클릭하면 "월요일"텍스트가 포함 된 행 끝에 빈 셀이 하나 더 표시됩니다.

누군가가 문제를 말해 줄 수 있습니까?

감사합니다.

이것은 내 코드입니다.

 protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e) 
     { 
      if (e.Row.Cells[0].Text.Contains("Monday")) 
      { 
       e.Row.BackColor = Color.Gray; 
       e.Row.ForeColor = Color.White; 
       e.Row.Cells[0].ColumnSpan = 2; 
       e.Row.Cells.Remove(e.Row.Cells[1]); 
       e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Center; 
       e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Center; 
       e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Center; 
       e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Center; 
      } 
      else 
      { 
       e.Row.Cells[0].Width = 45; 
       e.Row.Cells[1].Width = 400; 
       e.Row.Cells[2].Width = 40; 
       e.Row.Cells[3].Width = 40; 
       e.Row.Cells[4].Width = 40; 
       e.Row.Cells[5].Width = 40; 
       e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Center; 
       e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Center; 
       e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Center; 
       e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Center; 
       e.Row.Cells[5].HorizontalAlign = HorizontalAlign.Center;  
      } 
     } 

답변

0

문제가 재현되었습니다. gridview는 열과 동일한 번호를 갖기 위해 셀을 추가하는 것처럼 보입니다. 내가 찾을 수있는 유일한 수정 (당신은 또한 아무 버튼이나 방법에 추가 할 수 있습니다 -하지만 실제 아니다) Page_Load 이벤트에 다음 코드를 추가했다 : (jQuery로)

foreach (GridViewRow gridRow in GridView1.Rows) { 
if (gridRow.Cells[0].Text.Contains("Monday") && gridRow.Cells[0].ColumnSpan == 2 && gridRow.Cells.Count == 6) 
gridRow.Cells.RemoveAt(5); 
} 

또 다른 해결책은 제가 인터넷 검색을 찾았지만이 테스트되지 않음 :
http://forums.asp.net/t/1413833.aspx/1
희망이 있습니다.

+0

아니요, 빈 데이터 셀을 보내지 않습니다. 모든 셀에는 데이터가 있습니다. 이 추가 셀은 IF 조건을 만족하는 행 끝에 만 나타납니다. 그리고 그것은 내 GridView를 바인딩하는 버튼이 아니라 페이지의 다른 버튼을 클릭 할 때만 발생합니다. – Dimitar

+0

대단히 감사합니다 :). – Dimitar

+0

@Dimitar 즐거움과 함께 :) 또한, 이것이 당신의 문제에 대한 답이라면, 똑같은 문제가있는 다른 누구에게도 대답으로 표시 할 수 있습니까? 고맙습니다! – CristisS

관련 문제