2017-04-13 5 views
0

한 gridview에서 값을 가져 와서 그 값을 다른 gridview에 복사하는 웹 페이지를 만들려고합니다. 문제는 복사하려는 gridview가 이미 데이터 바인딩 된 부모 gridview 안에 중첩되어 있다는 것입니다. 그러나 페이지가로드 될 때마다 부모 그리드 뷰에는 자식 gridview의 복사 된 데이터를 부모 및 자식의 원래 상태로 덮어 쓰는 rowDataBound 함수가 있습니다.자식 그리드 뷰에 행 추가하기

Diagram of what my webpage should look like and how it should work

어떻게 내가 다른 하나 개의 격자보기에서 데이터를 복사 한 후 발사에서 rowDataBound을 방지합니까?

저는 잠시 동안이 문제에 대해 답변 해 주셨습니다. 감사합니다.

답변

0

나는 그것이 더 나은 견해라고 생각합니다. GridView에 바인딩하기 전에 데이터를 처리해야합니다. 한 가지 간단한 솔루션은 데이터를 DataTable로 가져와 행에 액세스하여 문제의 행이있는 데이터 소스를 얻는 것입니다.

DataTable myData = GetData(); 
DataTable dataToInject = new DataTable(); 

foreach(var row in myData.Rows) { 
    if ((int)row["id"] == 123) { 
    dataToInject = (DataTable) row["data"]; 
    } 
} 

dataToInject

오른쪽 행에 대해 rowDataBound 전달하거나 할 수 있습니다 당신이 사전 처리 내가 추천 어떤의 GridView에 바인딩하기 전에 모든 데이터. rowDataBound를 사용하지 말고 비즈니스 논리 또는 응용 프로그램의 서비스 계층에서 데이터를 처리하십시오.