linkedlist를 datagridview에 바인드하려고합니다. 아래의 메소드는 배열을 제외한 클래스의 속성에 대해 작동합니다. 배열을 새 인스턴스로 선언하면 linkedlist가 제대로 작성되지만 배열은 DataGridview에 바인딩되지 않습니다. 배열이 속성으로 생성 된 경우 (코드가 올바른 것 같음) 연결 목록을 만들면 An unhandled exception of type 'System.StackOverflowException' occurred
이됩니다.linkedlist를 datagridview에 바인딩
도움 주셔서 감사합니다.
public class PayoffNode
{
public int DealNo { get; set; }
public string Category { get; set; }
public string Strategy { get; set; }
public string GreekType { get; set; }
// declare array as instance or as a property?
//public double[] Data = new double[22];
public double[] Data
{
get { return Data; }
set { Data = value; }
}
}
LinkedList<Globals.PayoffNode> PayLL = new LinkedList<Globals.PayoffNode>();
Random Rnd = new Random();
for (int K = 1; K <= 10; K++)
{
var T = new Globals.PayoffNode();
T.Category = "Account==" + K;
T.GreekType = "Greek==" + K;
T.DealNo = K;
T.Strategy = "Strategy==" + K;
for (int DP = 1; DP <= 21; DP++)
{
T.Data[DP] = Rnd.Next(10, 99);
}
PayLL.AddLast(T);
}
List<Globals.PayoffNode> qP = (from P in PayLL
where P.Category == "Account==4" && P.DealNo == 4 && P.GreekType == "Greek==4" && P.Strategy == "Strategy==4"
select P).ToList();
PayoffTable.DataSource = qP;
업데이트 : 코멘트에 대한 덕분에,이 일 것으로 보인다.
public class PayoffNode
{
public int DealNo { get; set; }
public string Category { get; set; }
public string Strategy { get; set; }
public string GreekType { get; set; }
public double Data1 { get; set; }
public double Data2 { get; set; }
public double Data3 { get; set; }
public double[] Data = new double[22];
}
LinkedList<Globals.PayoffNode> PayLL = new LinkedList<Globals.PayoffNode>();
Random Rnd = new Random();
for (int K = 1; K <= 10; K++)
{
var T = new Globals.PayoffNode();
T.Category = "Account==" + K;
T.GreekType = "Greek==" + K;
T.DealNo = K;
T.Strategy = "Strategy==" + K;
for (int DP = 1; DP <= 21; DP++)
{
T.Data[DP] = Rnd.Next(10, 99);
}
PayLL.AddLast(T);
}
List<Globals.PayoffNode> qP = (from P in PayLL
where P.Category == "Account==4" && P.DealNo == 4 && P.GreekType == "Greek==4" && P.Strategy == "Strategy==4"
select new Globals.PayoffNode()
{
Category=P.Category,
DealNo=P.DealNo,
GreekType=P.GreekType,
Strategy=P.Strategy,
Data1=P.Data[1],
Data2 = P.Data[2],
Data3 = P.Data[3],
}).ToList();
PayoffTable.DataSource = qP;
'return Data; '이것은 무한 재귀를 일으키는 것입니다. – Slai
배열을 datagridview 열에 바인딩하면 어떻게 될 것으로 예상됩니까? – Slai
datagridview의 각 레코드가 다음과 같이 보이기를 기대합니다.''Category-GreekType-DealNo-Strategy-Data [1] -Data [2] ...''따라서 모든 변수와 그 다음 배열 – Zeus