1
class AgeWeightedHistorical
{
public DateTime ExposureDate { get; set; }
public double ProfolioPrices { get; set; }
public double LastPeriods { get; set; }
public double HybridWeights { get; set; }
public double CummulativeWeights { get; set; }
}
private List<AgeWeightedHistorical> Data;
protected void Page_Load(object sender, EventArgs e)
{
double[] values ={1275,1254.380054,1288.972603,1292.276423, 1302.272727,1264.986911,1349.010554,1265.461347,1287.81407,1268.656716, 1278.1875,1284.538653,1281.311881,1303.263547,1262.710843,1271.89781,1287.439024,1265.76087,1290.510949,1305.649038,1316.901408,1298.181818,1292.075893,1283.42511,1258.260394};
DateTime[] datetime ={Convert.ToDateTime("10/02/2010"), Convert.ToDateTime("10/03/2010"),Convert.ToDateTime("10/04/2010"),Convert.ToDateTime("10/05/2010"),Convert.ToDateTime("10/06/2010"),Convert.ToDateTime("10/07/2010"),Convert.ToDateTime("10/08/2010"),Convert.ToDateTime("10/09/2010"),Convert.ToDateTime("10/10/2010"),Convert.ToDateTime("10/11/2010"),Convert.ToDateTime("10/12/2010"),Convert.ToDateTime("10/13/2010"),Convert.ToDateTime("10/14/2010"),Convert.ToDateTime("10/15/2010"),Convert.ToDateTime("10/16/2010"),Convert.ToDateTime("10/17/2010"),Convert.ToDateTime("10/18/2010"),Convert.ToDateTime("10/19/2010"),Convert.ToDateTime("10/20/2010"),Convert.ToDateTime("10/21/2010"),Convert.ToDateTime("10/22/2010"),Convert.ToDateTime("10/23/2010"),Convert.ToDateTime("10/24/2010"),Convert.ToDateTime("10/25/2010"),Convert.ToDateTime("10/26/2010")};
GridView1.DataSource = Service(values, datetime);
GridView1.DataBind();
}
private static List<AgeWeightedHistorical> Service(double[] values, DateTime[] datetime)
{
List<AgeWeightedHistorical> Data = new List<AgeWeightedHistorical>();
AgeWeightedHistorical ag = new AgeWeightedHistorical();
for (int i = 0; i < values.Length; i++)
{
ag.ExposureDate = datetime[i];
ag.ProfolioPrices = values[i];
ag.LastPeriods = values.Length - Data.Count;
Data.Add(ag);
}
return Data;
}
上記のコードでは、価格、日付、過去の期間がグリッドビューに追加されます。しかし、グリッドビューはすべての行に対して同じ値を取得しています。ループにクラスプロパティの値は最後の値をリストに追加するとforloopに入ります。
AgeWeightedHistorical ag = new AgeWeightedHistorical();
:あなたはこの行を移動する必要が...
です。ありがとうございます – Jyothi
私はAgeWeightedHistoricalを使用しない理由を知っているかもしれませんag = new AgeWeightedHistorical(); – Jyothi
@Jyothi:あなたはそれがうまくいくことができます。たぶんそれは単なるコーディングスタイルです。あなたが新しいことを宣言するとき、それを二度伝える必要はありません。私は個人的にはそれがよりクリーンでより明確であると考えています – Arion