gpt4 book ai didi

c# - 返回过去五年年终余额的数组 - (C#)

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:13 25 4
gpt4 key购买 nike

我试图只返回过去五年的年终信息(12 月 31 日),并在 DataGrid 中显示该信息。这不包括当年。

我的程序目前正在显示从上一年到今年最近一个月的最后一天的月末信息(示例:当前月份是 2011 年 5 月,我的 DataGrid 中显示的信息显示存储的数据2010年1月31日;2010年2月28日;2010年3月31日....2010年12月31日;2011年1月31日;2011年2月28日;2011年3月31日;4月30日, 2011)。

它还在 2010 年 12 月 31 日之后和 2011 年 4 月 30 日之后添加了一个总计行。新的 DataGrid 将不再需要这两个总计行。

下面是返回月末信息的当前代码片段。

如果我遗漏了任何信息或对我的问题不清楚,请告诉我。

对于这样一个菜鸟问题,我提前表示歉意,过去几天我一直在发疯,我无法解决这个问题。

protected DataSet DS;
protected DataRow dr, dNew;

private void GetInfo()
{

}

private double getDbl(string columnName)
{
if (dr[columnName] != DBNull.Value)
return Double.Parse(dr[columnName].ToString());
return 0;
}

private void Calculate()
{
double cg, na, n, ka, nka, kaa, tca;
double tmr, to, gpo;
int year, rowcnt, rowindx, months;

months = -1;
rowindx = 0;
cg = 0;
na = 0;
n = 0;
ka = 0;
nka = 0;
kaa = 0;
tca = 0;
tmr = 0;
tor = 0;
gpo = 0;

rowcnt = DS.Tables[0].Rows.Count;

if (rowcnt > 0) year = Int32.Parse(DS.Tables[0].Rows[0]["cy"].ToString());
else year = 0;

for (int i = 0; i < rowcnt; i++)
{
months++;
dr = DS.Tables[0].Rows[i]

if (year != Int32.Parse(dr["cy"].ToString())
{
dNew = DS.Tables[0].NewRow();
dNew["ind"] = rowindx;
dNew["cg"] = cg;
dNew["na"] = na;
dNew["n"] = n;
dNew["ka"] = ka / months;
dNew["nka"] = nka / months;
dNew["kaa"] = kaa / months;
dNew["tca"] = tca / months;
dNew["tmr"] = tmr / months;
dNew["tor"] = tor;
dNew["gpo"] = gpo / months;

cg = 0;
na = 0;
n = 0;
ka = 0;
nka = 0;
kaa = 0;
tca = 0;
tmr = 0;
tor = 0;
gpo = 0;
months = 1;
year = Int32.Parse(dr["cy"].ToString());
rowindx++;

DS.Tables[0].Rows.Add(dNew);

dNew = DS.Tables[0].NewRow();
dNew["ind"] = rowindx;
rowindx++;
DS.Tables[0].Rows.Add(dNew);
}

cg += getDbl("cg");
na += getDbl("na");
n += getDbl("n");
ka += getDbl("ka");
nka += getDbl("nka");
kaa += getDbl("kaa");
tca += getDbl("tca");
tmr += getDbl("tmr");
tor += getDbl("tor");
gpo += getDbl("gpo");
dr["ind"] = rowindx;
rowindx++;
}

dNew = DS.Tables[0].NewRow();
dNew["ind"] = rowindx;
dNew["cg"] = cg;
dNew["na"] = na;
dNew["n"] = naum;
dNew["ka"] = ka / months;
dNew["nka"] = nka / months;
dNew["kaa"] = kaa / months;
dNew["tca"] = tca / months;
dNew["tmr"] = tmr / months;
dNew["tor"] = tor;
dNew["gpo"] = gpo / months;
DS.Tables[0].Rows.Add(dNew);

DS.Tables[0].DefaultView.Sort = "ind";
}

最佳答案

您是否尝试过将数据集查询限制为您想要的年份?

关于c# - 返回过去五年年终余额的数组 - (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5885436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com