2

データベースにバインドされたDataGridViewを使用しています。データベースの他のいくつかの列の平均として計算された列の1つを取得しようとしています。

    • データベースに計算列を作成することも、データセットに計算列を作成することもできませんでした。これを行う方法があれば、私たちの問題は解決されます。

例:AvgSkill = Avg(Skill1、Skill2、Skill3)

  1. 計算列を作成できないように見えるため、新しい平均を計算してから新しい情報でデータベースを更新するセルイベントハンドラーを作成しようとしましたが、セルを変更するとすぐにデータベースを更新しようとしました、その行に追加したすべてのデータが失われます。

dataGridViewは、行を離れるときにバインドされたデータソースのみを更新することがわかったため、更新を実行しようとすると、その行に入力されたものはすべて消去されます。

行を離れる前に、datagridviewにイベントハンドラーのバインドされたデータソースを更新させる方法はありますか?tableadapterを更新しても、それが行われないようです。

助けてくれてありがとう:)

-ドミニク

4

1 に答える 1

4

セル変更イベントハンドラーで次のことを行いたいと思います:

    private void dgvPlayers_CellValidated(object sender, DataGridViewCellEventArgs e)
    {
         this.Validate();
    }

セルが変更されるたびに DataGridView の検証を強制します。e.ColumnIndex を確認することで、このアクションを特定の列に制限できます。同時に計算を行うために必要なコードを含めることもできます。

;)

于 2012-09-03T20:41:20.993 に答える