여러 페이지가있는 gridview의 확인란에서 포스트 백 때 정보를 얻으려고합니다. 한 페이지 분의 데이터 만있을 때 제대로 작동하지만 페이징 확인란을 사용하면 다른 페이지로 이동할 때 어떤 페이지에 있더라도 항상 false를 반환합니다. 그래서 예를 들어 내 애플 리케이션에서 나는 페이지 2 링크를 클릭하고 해당 페이지의 체크 박스를 선택한 다음 다시 게시했다. 내 처리기에서 나는 모든 행을 반복하고 이와 같이 확인합니다.페이징을 사용하는 동안 gridview의 컨트롤에 액세스
그래서 원하는 정보는 2 페이지 (1 행)의 1 행에 있습니다. 그러나 체크 박스는 확인되지 않습니다.
? grdView.Rows.Count 5
? grdView.PageCount 2
? grdView.PageSize 5
을 그래서 심지어는 페이지 당 5 행과 2 페이지가 그것보다 그 5 개 행을 볼 수 없습니다 알고 있지만 : 여기 내 gridview에보고되는 것입니다. 또한 pageindex를 0 (첫 번째 페이지)으로보고합니다. PageIndex를 1 (두 번째 페이지)로 설정하면 두 번째 페이지에는 단 하나의 행만 있더라도 grdView.Rows.Count = 5로 설정됩니다.
페이지 번호를 두 번째 페이지로 설정 했음에도 불구하고 첫 번째 페이지와 동일한 반환 값을 얻습니다. 첫 번째 페이지가 아닌 다른 페이지에서 무엇을 얻을 수 있는지 알 수 없습니다.
나는 이것을 봤지만 놀랍게도 데이터를 얻기 위해 일반적으로 사용되는 것으로 보이는 답변을 찾지 못했습니다. 이것은 C# 섹션에서 답이없는 질문의 재 게시판이지만 새로운 게시물로 대답을 찾을 수 있을지도 모른다고 생각했습니다.
확인란 필드를보고 번호 매기기 문제를 발견했습니다. 예를 들어 페이지 2에는 하나의 행이 있고 확인란의 ID는 .... $ ctl02 $ ... 그러나 루프의 확인란을 쿼리하면 UniqueID가 .... $ ctl11 $와 같이 나타납니다. 그래서 분명히 그들은 거짓으로 돌아가고 있습니다. 그러나 페이지에 표시되는 ID와 함께 Request.Item을하면 체크 박스가 나타납니다. UniqueID를 사용하면 체크 박스에 아무것도 표시되지 않으므로 모든 체크 상자의 체크 된 속성은 false입니다.
도움을 주시면 감사하겠습니다. 당신은 데이터 바인딩하는 경우
grid.DataSource = something
grid.DataBind()
, 데이터의 현재 페이지의 가치가 그리드, 아무것도 더에 바인딩 : 처음에의 GridView에 데이터를 설정
몇 가지 코드를 보여주고 좀 더 설명해 주실 수 있습니까? 왜 그리드 뷰를 사용하는 동안 누구도 현재 페이지에서 아무 것도 액세스 할 수 없다는 것을 알지 못합니다. – naveen
확인 - 위의 루프를 사용하고 있습니다. 확인란을 선택하면 데이터베이스에있는 레코드의 GUID ID가있는 숨겨진 필드가 나타납니다. 그러나 페이지를 전환 할 때 모든 체크 박스는 false를 반환합니다. 체크 박스의 UniqueID가 올바르지 않은 것으로 보이는 방법에 대한 자세한 정보 위에 삽입했습니다. – netwisedev
거기에 나타나지 않기 때문에이 해결 방법에 대한 해결 방법은 Javascript를 사용하여 페이지의 컨트롤을 반복하여 유효한 정보를 얻는 것입니다. document.getElementsByTagName ("input"); (oCheckbox.id.indexOf (sFieldID)> 0) 확인란을 선택하고 행을 찾은 다음 내 포스트 백에서 Request.Form.Item()을 사용하여 행의 다른 정보를 가져옵니다. 이것은 꽤 아니지만 정보를 가져옵니다. – netwisedev