DataTable表达式和Datagrid可见性

时间:2010-12-15 16:47:51

标签: c# .net datagridview datatable expression

我想知道是否可以仅强制执行数据表达式 datagridview的可见列。

继承人一个用例。 最终用户有一个DataGridView,其中最多包含十列Numbers和一个总计最终列。如果用户决定隐藏其中一列(idealy),表达式将根据datagrid中的可见列而改变。

感谢任何输入。

1 个答案:

答案 0 :(得分:1)

您需要处理DataGridView.ColumnStateChanged Event

在myDataTable中,首先不设置表达式。 首次加载网格后,启动recalculateTotalExpression。

void recalculateTotalExpression()
{
   // 0. Create a StringBuilder for your new Expression.
   // 1. Go through each of the columns of your datagridview, except the TotalColumn
   // 2. Foreach Visible DataGridView Column, add the corresponding DataTable column to the expression.
   // 3. Set the Expression to the TotalColumn : TotalColumn.Expression = sb.toString();
}

void MyDataGridView_OnColumnStateChanged(DataGridViewColumnStateChangedEventArgs e)
{
   recalculateTotalExpression();
}