c# - 在 sum 之后对 DataGridView 进行微调时出现问题
问题描述
我是编码新手,在尝试将 DataGridView 的总和值相乘时遇到了一些问题。
基本上,我想要做的是将 DataGridView 列的所有值相加到一个文本框中,然后将其乘以另一个文本框中的值。
到目前为止,我已经能够总结 de DGV 购买的所有值,但似乎无法弄清楚如何将它与其他文本框相乘。
我的代码如下:
private void BtAgregar_Click(object sender, EventArgs e)
{
if (this.DgvBuscador.DataSource != null)
{
this.DgvCarrito.DataSource = null;
}
else
{
this.DgvCarrito.Rows.Clear();
}
for (int i = 0; i < DgvBuscador.SelectedRows.Count; i++)
{
int index = DgvCarrito.Rows.Add();
DgvCarrito.Rows[index].Cells[0].Value = DgvBuscador.SelectedRows[i].Cells[0].Value.ToString();
DgvCarrito.Rows[index].Cells[1].Value = DgvBuscador.SelectedRows[i].Cells[1].Value.ToString();
DgvCarrito.Rows[index].Cells[2].Value = DgvBuscador.SelectedRows[i].Cells[2].Value.ToString();
DgvCarrito.Rows[index].Cells[3].Value = DgvBuscador.SelectedRows[i].Cells[3].Value.ToString();
DgvCarrito.Rows[index].Cells[4].Value = DgvBuscador.SelectedRows[i].Cells[4].Value.ToString();
DgvCarrito.Rows[index].Cells[5].Value = DgvBuscador.SelectedRows[i].Cells[5].Value.ToString();
DgvCarrito.Rows[index].Cells[6].Value = DgvBuscador.SelectedRows[i].Cells[6].Value.ToString();
}
TbTotal.Text = (from DataGridViewRow row in DgvCarrito.Rows
where row.Cells[6].FormattedValue.ToString() != string.Empty
select Convert.ToInt32(row.Cells[6].FormattedValue)).Sum().ToString();
}
解决方案
我尝试了一种我想要的不同方法并且它奏效了。
TbTotal.Text = (from DataGridViewRow row in DgvCarrito.Rows
where row.Cells[6].FormattedValue.ToString() != string.Empty
select Convert.ToInt32(row.Cells[6].FormattedValue) * Convert.ToInt32(TbNoches.Text)).Sum().ToString();
推荐阅读
- rxjs - rxjs - 点击与订阅
- powershell - 检查 UNC 路径/服务器文件夹是否存在
- java - 对 jtextfield 代码执行有限的字符范围不起作用
- reactjs - 带有动态标题和描述的 Whatsapp 共享
- php - PHP:取消链接资源暂时不可用
- java - 字符串不能转换为 double[]
- php - getenv() 在浏览器中工作,但不在命令行中
- javascript - 使用 javascript 函数返回格式化 json 数据的数据表
- javascript - 如何创建一个将任何给定字符串与第二个参数连接起来的函数?
- pdf - 如何让 Adobe Reader 生成高效的 XPS