我有一个foreach,如果选中行的复选框,它应该做一些计算,然后将结果值存储在某个东西中,我试图存储在一个数组中。最后我需要有,例如,在数组中使用他的值选择的4行,之后我需要将这些值放在会话中,并在其他页面中恢复(确认页面)。我试过这个。但我不能数字一种方法来存储数组中的选择行。如果有人知道更好的方法,我不需要成为数组。
string[] valoresSelecionados;
foreach (GridViewRow grdCount in grdSimulacao.Rows)
{
if (((CheckBox)grdCount.FindControl("chkSeleciona")).Checked)
{
if (double.Parse(grdCount.Cells[5].Text) >= 0)
vlNotas += double.Parse(grdCount.Cells[5].Text);
else
vlDebito += double.Parse(grdCount.Cells[5].Text);
if (!string.IsNullOrEmpty(grdCount.Cells[8].Text) && grdCount.Cells[8].Text != " ")
vlEncargos += double.Parse(grdCount.Cells[8].Text);
_simulacao.Notas.Rows.Add(grdCount.Cells[1].Text);
if (Culture== "English (United States)")
{
//DateTime data =DateTime.Parse(grdCount.Cells[2].Text);
//var dataInicial = data.ToString("mm-DD-yyyy");
_simulacao.Notas.Rows[u]["DTEMISSAO"] = grdCount.Cells[2].Text;
_simulacao.Notas.Rows[u]["DTVENCIMENTO"] = grdCount.Cells[3].Text;
}
else
{
_simulacao.Notas.Rows[u]["DTEMISSAO"] = grdCount.Cells[2].Text;
_simulacao.Notas.Rows[u]["DTVENCIMENTO"] = grdCount.Cells[3].Text;
}
_simulacao.Notas.Rows[u]["PRAZOPGTO"] = "5";
_simulacao.Notas.Rows[u]["VALTOTAL"] = grdCount.Cells[5].Text;
_simulacao.Notas.Rows[u]["DOCCOMPRAS"] = grdCount.Cells[6].Text;
if (DateTime.Parse(grdCount.Cells[3].Text) < DateTime.Parse(txtDtCredito.Text))
dtok = true;
DateTime antigaData = DateTime.Parse(grdCount.Cells[3].Text);
DateTime novaData = DateTime.Parse(txtDtCredito.Text);
DateTime dataAtual = DateTime.Today;
int diaAtual = dataAtual.DayOfYear;
int diaNovo = novaData.DayOfYear;
int diaAntigo = antigaData.DayOfYear;
int anoAtual = dataAtual.Year;
int anoNovo = novaData.Year;
if (diaAntigo <= diaNovo)
{
dataErro++;
}
if (diaNovo == diaAtual || diaNovo == diaAtual + 1 || diaNovo == diaAtual + 2 ||
diaNovo == diaAtual + 3 || diaNovo < diaAtual || anoAtual < anoNovo)
{
error++;
}
else
{
TimeSpan ts = antigaData - novaData;
if ((double.Parse(grdCount.Cells[5].Text)) < 0)
{
}
else
{
_simulacao.Notas.Rows[u]["DIASANTEC"] = ts.Days;
}
}
if (grdCount.Cells[7].Text != " ")
_simulacao.Notas.Rows[u]["DIASANTEC"] = "10";
else
_simulacao.Notas.Rows[u]["DIASANTEC"] = "0";
if (!string.IsNullOrEmpty(grdCount.Cells[8].Text) && grdCount.Cells[8].Text != " ")
{
_simulacao.Notas.Rows[u]["VLFINAL"] = double.Parse(grdCount.Cells[5].Text) - double.Parse(grdCount.Cells[8].Text);
_simulacao.Notas.Rows[u]["VLENCARGOS"] = grdCount.Cells[8].Text;
}
else
{
_simulacao.Notas.Rows[u]["VLFINAL"] = double.Parse(grdCount.Cells[5].Text);
_simulacao.Notas.Rows[u]["VLENCARGOS"] = "0,00";
}
valoresSelecionados[] = _simulacao.Notas.Rows.Add[u];
u++;
}
}
第一张图片显示第一个带有所有值的网格。我选择4例如,在计算方法之后,我只需要在模型中显示4个选择(第二张图片),在图片二的第一个网格下将使用之前选定的值放置新网格。