我想获取Datagridview 中某个特定列的所有值,而不进行任何实际单元格点击或行选择。
我基本上有2个Datagridviews; 订单和订单行。
Order Datagridview有一个名为:
的列订单总额
订单行数据网格视图有一个名为:
的列单价
我想得到Unit Price列的总和,并将总数转移到Order Total列中的其他datagridview。如何解决这个问题?
编辑:我使用了计算方法但得到了错误:create_date
代码:我有一个名为" unit_price"
的列System.InvalidCastException: 'Object cannot be cast from DBNull to other types.'
我不知道导致此错误的是什么。
答案 0 :(得分:0)
您需要填写您的订单行数据表1st(即您的订单行数据表必须包含每个订单项
循环通过Order DataTable并在OrderLine DataTable中找到对应的OrderLines(通过外键)
总结并将值更新为您在Order DataGridView
中创建的新列然后使用行过滤器,更改订单行datagridview并从订单datagridview获取过滤器外键,如下所示:
private void dgvOrder_SelectionChanged(object sender, EventArgs e)
{
if (dgvOrder.SelectedCells.Count > 0)
{
int selectedrowindex = dgvOrder.SelectedCells[0].RowIndex;
DataGridViewRow selectedRow = dgvOrder.Rows[selectedrowindex];
string orderlineFilter = Convert.ToString(selectedRow.Cells["columnname"].Value);
(dgvOrderLine.DataSource as DataTable).DefaultView.RowFilter = string.Format("Field = '{0}'", orderlineFilter);
}
}