현재 GridView
개체를 매개 변수로 받아들이고 계산을 수행하기 위해 GridView
개체 내의 값을 액세스하는 몇 가지 방법이 있습니다.- GridView 개체를 매개 변수로 전달하는 것이 좋습니다.
제 질문은 이것이 좋은 연습인지 여부입니다. 결과 디스플레이를 변경해야 할 때 (예 : GridView
은 원래 10 개 셀보다 9 개의 셀 결과가 표시됨),이를 사용하는 모든 메소드를 변경하거나 ArrayIndexOutOfBound
오류가 발생할 위험이 있습니다.
예
public static string checkCount(GridView gr)
{
//need to change the cell index if the sql to get the gridview is changed
string name = gr.Rows[b].Cells[9].Text.ToUpper();
}
이 어떤 생각?
감사
편집
는 더 나은 개체 자체가 데이터 행의 표현 개체의 목록에 SQL 결과를지도를 넣어하는 방법을하는 것입니다. 이 방법은 내가 열을 제거하더라도, 나는 단지 매핑 방법 자체를 다룰 필요가 있으며 다른 것들은 규범에 따라 기능해야한다.
예 :
public class Profile{
string name {get;set;}
string icNo {get;set;}
}
public list getProfileList(){
//run some query here and loop the result
//while looping
profile = new Profile(name=/*the name result*/, icNo=/*icNo from result*/);
//return the list
}
페이지로드
List profiles = getProfileList();
gv.DataSource = profiles;
gv.DataBind();
public string calculationMethod(List profiles){
//when in need of the result, just get the object from profiles and process
}
를 당신이 코드를 중복되지 않도록 할 수 있습니다 경우 ** ** 것이 좋습니다. 적절한 방법을, 좋은 계층 (UI 계층에 머 무르십시오)에 구축하고 프랑켄슈타인 방법을 피할 수있는 복잡성을 줄이는 것이 문제입니다. –
의미에서 중복, gridview에서 값 이름을 가져올 필요가있을 때마다 색인 번호를 포함하는 Text 메서드를 사용해야하고, SQL을 변경할 때 모든 것을 변경해야합니다. 그 선이 몇 개의 클래스 주위에 흩어져 있다고 상상해보십시오). 따라서 유지 보수 문제로 이어질 수 있으므로 의견을 묻습니다. 대부분의 대답은 – ipohfly