1

DataGridViewの行として機能するRecordオブジェクトのリストがあります。 各Recordの新しいブール値はHelpedです。確かに、この新しい値は自分のフォームにチェックマークとして表示されます。DataGridViewのCheckBox列は、基になるバインドされたオブジェクトに変更を適用しません。

このチェックボックスをオンにすると、対応するRecordHelpedブールの値は変更されていないようです。

変更する必要がある読み取り専用のプロパティがありますか?フォームのクリックをDataSourceの値の変更として渡すにはどうすればよいですか?

編集:System.Windows.Forms.DataGridViewEditMode.EditOnEnterプロパティを見つけましたが、私のRecord.Helpedプロパティが更新されるのをまだ見ていません。

+0

これは非常に簡単です。実際に、データテーブルのパブリックインスタンスを作成し、次にフィールドの値をTrueからFalseに変更した場合、DataGridView.DataSourceをキャストしてDataTableとしてキャストします。 DataTableとしてDataGridViewをキャストする – MethodMan

+0

私はあなたの言ったことを頭で囲んでいますが、わかりません。私のDataGridViewは、すでに 'DataSource'(これは' SortableBindingList'です)内のすべてを正しく表示しています。 マークされたチェックボックスを持つ行をチェックし、対応する 'Record'オブジェクトを更新したいだけです。 – MrDysprosium

答えて

3

このチェックボックスをオンにすると、 は対応するレコードのヘルプboolの値を変更していないようです。

DataGridViewというセルの変更は、セルの編集が完了するまでデータソースに直ちにコミットせず、変更はデータソースにプッシュされます。何らかの理由であなたがすぐ変更をプッシュしたい場合は、呼び出すことができます。

dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); 

たとえば、あなたが行うことができ、そのデータソースの基本的なプロパティにごDataGridViewプッシュする]チェックボックスの値のCellContentClickイベントインチ

関連する問題