2010-12-15 5 views
1

のdatagridviewの表示可能な列でのみデータテーブル式を実行することが可能かどうかは疑問でした。DataTableの式とデータグリッドの可視性

heresを使用例です。 エンドユーザーには、最大10列の数値と合計の最終列がDataGridViewに設定されています。ユーザーがこれらの列の1つ(idealy)を非表示にすると、式はデータグリッド内の表示可能な列に応じて変わります。

ありがとうございます。

答えて

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(); 
} 
+0

Thats Perfect、thanksありがとう。私はColumnVisibleイベントなどを探していました。今、魅力を発揮します。 – BastanteCaro