Copyright © GrapeCity inc. All rights reserved.
True DBGrid for WinForms
非連結列を編集する
データ連結 > 非連結列 > 非連結列を編集する

非連結列を更新するもう1つの方法は、AfterColUpdate イベントを使用して、その他の(連結されている)列の値を変更することです。たとえば、次のように、グリッド表示の一部に借方と貸方という2つの列があるとします。


これらの列に対応するデータベースフィールドはなく、これらの列は、同じ収支列(正または負の値のどちらか)から派生される非連結列です。ユーザーの立場からは、これらの値を直接編集できると便利です。また、開発者の立場からは、それによって自動的に収支列が更新される必要があります。

C1TrueDBGrid では、このような動作を簡単に実装できます。グリッドのAfterColUpdate event イベント内に次のコードを記述すると、どちらの列を更新しても、収支列が変更されます。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Private Sub C1TrueDBGrid1_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1TrueDBGrid1.AfterColUpdate
    Dim row as Integer = Me.C1TrueDBGrid1.Row
    Me.C1TrueDBGrid1(row, "収支") = -e.Column.DataColumn.Value
End Sub

C# コードの書き方

C#
コードのコピー
private void C1TrueDBGrid1_AfterColUpdate(object sender, C1.Win.C1TrueDBGrid.ColEventArgs e) 
{
    int row = this.c1TrueDBGrid1.Row;
    this.c1TrueDBGrid1[row, "収支"] = -e.Column.DataColumn.Value;
}

どちらかの列が更新されると、実際にはこのコードによって、連結されている非表示の収支列の値が変更されます。

関連トピック