사용자가 선택한 리포트 유형에 따라 콜렉션을 GridView에 바인딩해야합니다.콜렉션 생성/디자인 질문
각 보고서는 약간 다르지만 많은 열을 가진 동일한 기본 결과 집합을 사용합니다. 바인딩하기 전에 결과 집합을 반복하고 간단한 컬렉션 ('column1', 'column2', 'column3'이라는 3 개의 문자열 변수)에 복사하려고합니다.
는코드 :
namespace etc.etc.etc
{
public class ReportEntity
{
public string column1 { get; set; }
public string column2 { get; set; }
public string column3 { get; set; }
}
}
List<ReportEntity> a = new List<ReportEntity>();
ReportEntity[] b = new ReportEntity[results.Length];
for (int i = 0; i < results.Length; i++)
{
//a[i].column1 = results[i].class.desc;
//a[i].column2 = results[i].student.firstname;
//a[i].column3 = results[i].timescanned.ToString();
//b[i].column1 = results[i].class.desc;
//b[i].column2 = results[i].student.firstname;
//b[i].column3 = results[i].timescanned.ToString();
}
의 주석 내가 a
의 값을 설정 Index was out of range. Must be non-negative and less than the size of the collection.
을 제공합니다. b
에 대한 값 설정 위치에서 주석 처리를 해제하면 Object reference not set to an instance of an object.
이됩니다.
results
에는 많은 레코드가 있습니다. 나는 무엇을 잘못 할 수 있 었는가?
오, 예. 하지만 그 엔티티 클래스에 생성자가 필요합니다. – cring
위 구문은 기본값 이외의 다른 생성자를 필요로하지 않습니다. – flq